但是如果是两个model呢!因为我写的项目中就是需要用两个model获取!我先把我项目中从后台接收的xml列出来!
<?xml version="1.0"?>
<InvokeReturn xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Success>true</Success>
<Time>2014-02-18T10:47:54.0849609+08:00</Time>
<Object xsi:type="ArrayOfCodeModel">
<CodeModel>
<Index>0</Index>
<Key>Normal</Key>
<Value>正常</Value>
</CodeModel>
<CodeModel>
<Index>0</Index>
<Key>Normal</Key>
<Value>暂停</Value>
</CodeModel>
</Object>
</InvokeReturn>
要想解析这样的model需要用另外一种格式:
import java.util.ArrayList;
import java.util.List;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
/**
* 将model存在list集合中,并将集合转换为json格式
* */
public class xmlJdom {
public static void main(String[] args) {
Student s1=new Student();
s1.setAge(123);
s1.setNameString("name");
Student s2=new Student();
s2.setAge(1234);
s2.setNameString("what");
Teacher teacher=new Teacher();
teacher.setsAge(11);
teacher.setsName("teacher");
List<Student> lists=new ArrayList<Student>();
lists.add(s1);
lists.add(s2);
teacher.setStudent(lists);
new JSONObject();
JSONObject jsonObject = JSONObject.fromObject(teacher);
System.out.println(jsonObject);
List<Student> list = new ArrayList<Student>();
list.add(s1);
list.add(s2);
JSONArray jsonArr= JSONArray.fromObject(list);
System.out.println(jsonArr);
}
}
输出的内容为:
{"sAge":11,"sName":"teacher","student":[{"age":123,"nameString":"name"},{"age":1234,"nameString":"what"}]}
[{"age":123,"nameString":"name"},{"age":1234,"nameString":"what"}]
两个model:Student和Teacher
teacher里面包含student的list集合:
public class Student {
private String nameString;
private int age;
public String getNameString() {
return nameString;
}
public void setNameString(String nameString) {
this.nameString = nameString;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
import java.util.List;
public class Teacher {
private String sName;
private int sAge;
private List<Student> student;
public List<Student> getStudent() {
return student;
}
public void setStudent(List<Student> student) {
this.student = student;
}
public String getsName() {
return sName;
}
public void setsName(String sName) {
this.sName = sName;
}
public int getsAge() {
return sAge;
}
public void setsAge(int sAge) {
this.sAge = sAge;
}
}
这样就ok!现在已经学会了举一反三了!
如需转载请注明出处:Finder_畅畅