用Java解析XML,并转换为json格式(2)

原帖地址:http://www.2cto.com/kf/201402/279640.html

但是如果是两个model呢!因为我写的项目中就是需要用两个model获取!我先把我项目中从后台接收的xml列出来!

<!--?xml version=1.0?-->
 <invokereturn xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <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.List;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
<span style="color: rgb(51, 51, 51); font-family: 宋体; font-size: 14px; line-height: 28px; text-indent: 28px; background-color: rgb(240, 240, 240);">import java.util.ArrayList;</span>
/**
 * 将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);
    }
}
</student></student></student></student>

输出的内容为:

{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;
    }
}
</student></student></student>

这样就ok!现在已经学会了举一反三了!

 

如需转载请注明出处:Finder_畅畅

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值