您的位置:首页 > Web前端 > JavaScript

【第6篇】使用Json-lib的XMLSerializer的write和reader操作json数据和xml

2015-01-18 20:32 357 查看
package ivyy.taobao.com.domain.jsonlib;

import ivyy.taobao.com.entity.Student;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JSONSerializer;
import net.sf.json.xml.XMLSerializer;

/**
 *@DEMO:json
 *@Java:JsonXMLSerializer.java
 *@Date:2015-1-18下午7:04:04
 *@Author:liangjilong
 *@Email:jilongliang@sina.com
 *@Weibo:http://weibo.com/jilongliang
 *@Version:1.0
 *@Description:使用Json-lib的XMLSerializer的write和reader操作json数据和xml
 *需要導入xom-1.1.jar包
 */
public class JsonXMLSerializer {
	//创建一个XMLSerializer对象
	public static XMLSerializer serializer = new XMLSerializer();
	public static void main(String[] args) {
		//writeXML();
		readerXML();
	}
	
	/***
	 * XMLSerializer的write与Json转成xml的使用
	 */
	public static void writeXML() {
	    Object2XML();
	    String2Json();
	    Strings2XML();
	    Booleans2XML();
	    Objects2JSONArray();
	    
	    
	}
	/**
	 * 布尔数组转成XML
	 */
	public static void Booleans2XML(){
		  //布尔数组转成XML
	    System.out.println("==============Java boolean Array >>> XML ==================");
	    boolean[] booleans = { true, false, true };
	    System.out.println(serializer.write(JSONArray.fromObject(booleans)));
	    System.out.println(serializer.write(JSONSerializer.toJSON(booleans)));
	}
	
	/**
	 * 对象数组转成json数组
	 */
	public static void Objects2JSONArray(){
		System.out.println("==============Java Object Array >>> JSON Array ==================");
		boolean[] booleans = { true, false, true };
		String[] strs = {"令狐冲", "东升布艺", "周伯通"};

		Object[] objs = { 1, "令狐冲", true, "周伯通", strs, booleans };
	    System.out.println(serializer.write(JSONArray.fromObject(objs)));
	    System.out.println(serializer.write(JSONSerializer.toJSON(objs)));
	}
	

	/**
	 * /字符串轉換成json
	 */
	private static void String2Json() {
		//字符串轉換成json
	    System.out.println("==============Java String >>> JSON ==================");
	    System.out.println(serializer.write(JSONArray.fromObject("['令狐冲','是','武林盟主']")).toString());
	    System.out.println(serializer.write(JSONObject.fromObject("{'令狐冲':'是 武林盟主'}")).toString());
	    System.out.println(serializer.write(JSONSerializer.toJSON("['令狐冲','是','武林盟主']")).toString());
	}

	/***
	 * 字符串数组转成XML
	 * @return
	 */
	private static void Strings2XML() {
		System.out.println("==============Java String Array >>> XML ==================");
	    //字符串数组转成XML
	    String[] strs = {"令狐冲", "东升布艺", "周伯通"};
	    System.out.println(serializer.write(JSONArray.fromObject(strs)));
	}

	/***
	 *对象转XML
	 */
	private static void Object2XML() {
		//对象转XML
	    System.out.println("==============Java Object >>> XML ==================");
	    
		Student stu=new Student();
		stu.setAddress("廣東省雲浮市聞鶯路東升布藝");
		stu.setUserName("東升布藝");
		stu.setEmail("jilongliang@sina.com");
		
	    serializer.setElementName("stu");
	    System.out.println(serializer.write(JSONArray.fromObject(stu)));
	}
	
	
	/**
	 * 
	 * json-lib的XMLSerializer的read使用
	 * json-lib的xml必须有一个对象obj(Object)节点包含里面的节点
	 * 如:
	 * <obj>
	 * 		<student type="string">
	 * 			<age>198</age>
	 * 			<username>东方不败</username>
	 * 		</student>
	 * 		<student type="string">
	 * 			<age>198</age>
	 * 			<username>周伯通</username>
	 * 		</student>
	 * </obj>
	 * 
	 */
	public static void readerXML(){
		
		String xml="";//
		StringBuffer buffer=new StringBuffer();
		buffer.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
		buffer.append("<obj>");
			buffer.append("<stu type=\"string\">令狐冲</stu>");
			buffer.append("<stu type=\"string\">东升布艺</stu>");
			buffer.append("<stu type=\"string\">周伯通</stu>");
		buffer.append("</obj>");
		xml=buffer.toString();
		
		JSONArray jarr = (JSONArray) serializer.read(xml); 
	 
		for (int i = 0; i < jarr.size(); i++) {
			System.out.println(jarr.get(i));//获取出数组的数据
		}
		
	}
}


package ivyy.taobao.com.entity;

import java.io.Serializable;

/**
 *@Author:liangjl
 *@Date:2014-12-19
 *@Version:1.0
 *@Description:
 */
public class Student implements Serializable{
	private Integer age;
	private String sex;
	private String userName;
	private String birthday;
	private String address;
	private String email;
	
	public Integer getAge() {
		return age;
	}
	public void setAge(Integer age) {
		this.age = age;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getBirthday() {
		return birthday;
	}
	public void setBirthday(String birthday) {
		this.birthday = birthday;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐