- 主对象
package com.cmit.test;
import java.util.Date;
import java.util.List;
public class TestObject {
private int oj1 = 0;
private String oj2 = "";
private Date oj3 = null;
private List<TestSubObject> subObjs = null;
public int getOj1() {
return oj1;
}
public void setOj1(int oj1) {
this.oj1 = oj1;
}
public String getOj2() {
return oj2;
}
public void setOj2(String oj2) {
this.oj2 = oj2;
}
public Date getOj3() {
return oj3;
}
public void setOj3(Date oj3) {
this.oj3 = oj3;
}
public List<TestSubObject> getSubObjs() {
return subObjs;
}
public void setSubObjs(List<TestSubObject> subObjs) {
this.subObjs = subObjs;
}
}
- 子对象
package com.cmit.test;
public class TestSubObject {
private String info = null;
public String getInfo() {
return info;
}
public void setInfo(String info) {
this.info = info;
}
}
- 测试
package com.cmit.test;
import java.util.ArrayList;
import java.util.List;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
String str = "{\"oj1\":1,\"oj2\":\"test1\",\"oj3\":\"2014-03-27 11:29:30\", \"subObjs\":[{\"info\":\"1\"},{\"info\":\"2\"},{\"info\":\"3\"}]}";
JSONObject jsonobject = JSONObject.fromObject(str);
TestObject obj = null;
// 获取一个json数组
JSONArray array = jsonobject.getJSONArray("subObjs");
List<TestSubObject> list = new ArrayList<TestSubObject>();
for (int i = 0; i < array.size(); i++) {
JSONObject object = (JSONObject) array.get(i);
TestSubObject passport = (TestSubObject) JSONObject
.toBean(object, TestSubObject.class);
if (passport != null) {
list.add(passport);
}
}
obj = (TestObject)JSONObject.toBean(jsonobject, TestObject.class);
obj.setSubObjs(list);
///-------------------------------------
System.out.println(obj.getOj1());
System.out.println(obj.getOj2());
System.out.println(obj.getOj3());
for(int i = 0;i < obj.getSubObjs().size();i++){
System.out.println(((TestSubObject)obj.getSubObjs().get(i)).getInfo());
}
}
}
- 依赖jar包