java将xml解析,然后将其转换为json格式(②)

上一篇文章只是一个model!!

但是如果是两个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_畅畅




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值