`
yaodaqing
  • 浏览: 345690 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

JAVABean_XML_JSON相互转换

阅读更多
package com.yaodaqing.json.test;

import net.sf.json.JSON;
import net.sf.json.JSONObject;
import net.sf.json.xml.XMLSerializer;

/**
 * JAVABean_XML_JSON相互转换
 * 
 * @author 姚大庆
 *
 * 2012年4月23日11:24:48
 */
public class JAVABean_XML_JSON {
	
	public static void main(String args[]) {
		// javaToJSON();
		// jsonToJAVA();
		// jsonToXML();
		// javaBeanToJSON();
		// javaBeanToXML();
		// xmlToJSON();
		 jsonToJAVABean();
		// xmlToJAVABean();
	}
	
	/**
	 * JSON格式转JAVA
	 */
	public static void jsonToJAVA() {
		System.out.println("json字符串转java代码");
		String jsonStr = "{\"password\":\"123456\",\"username\":\"张三\"}";
		JSONObject jsonObj = JSONObject.fromString(jsonStr);
		String username = jsonObj.getString("username");
		String password = jsonObj.optString("password");
		//在这里一个属性一个属性的设置到JAVABean中
		System.out.println("json--->java\n username=" + username + "\t password=" + password);
	}

	/**
	 * JSON格式转XML格式
	 */
	public static void jsonToXML() {
		System.out.println("json字符串转xml字符串");
		String jsonStr = "{\"password\":\"123456\",\"username\":\"张三\"}";
		JSONObject json = JSONObject.fromString(jsonStr);
		XMLSerializer xmlSerializer = new XMLSerializer();
		xmlSerializer.setRootName("user_info");
		xmlSerializer.setTypeHintsEnabled(false);
		String xml = xmlSerializer.write(json);
		System.out.println("json--->xml \n" + xml);
	}
	
	/**
	 * JSON格式直接转JAVABean
	 */
	@SuppressWarnings("static-access")
	public static void jsonToJAVABean(){
		String jsonStr = "{\"password\":\"123456\",\"username\":\"张三\"}";
		JSONObject jsonObj = JSONObject.fromString(jsonStr);
		UserInfo user = (UserInfo) jsonObj.toBean(jsonObj,UserInfo.class);
		System.out.println(user.getPassword());
		System.out.println(user.getUsername());
	}

	/**
	 * XML文件转JSON格式
	 */
	public static void xmlToJSON() {
		System.out.println("xml字符串转json字符串");
		String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><user_info><password>123456</password><username>张三</username></user_info>";
		JSON json = XMLSerializer.read(xml);
		System.out.println("xml--->json \n" + json.toString());
	}
	
	/**
	 * XML直接转JAVABean
	 */
	public static void xmlToJAVABean(){
		String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><user_info><password>123456</password><username>张三</username></user_info>";
		System.out.println("xml=="+xml);
		JSON json = XMLSerializer.read(xml);
		JSONObject jsonObj = JSONObject.fromString(json.toString());
		System.out.println("json=="+json.toString());
		UserInfo user = (UserInfo) jsonObj.toBean(jsonObj,UserInfo.class);
		System.out.println(user.getPassword());
		System.out.println(user.getUsername());
	}
	
	/**
	 * JAVABean转JSON格式
	 */
	public static void javaBeanToJSON() {
		System.out.println("javabean转json字符串");
		UserInfo userInfo = new UserInfo();
		userInfo.setUsername("张三");
		userInfo.setPassword("123456");
		JSONObject json = JSONObject.fromBean(userInfo);
		System.out.println("javabean--->json \n" + json.toString());
	}
	
	/**
	 * JAVABean转XML格式
	 */
	public static void javaBeanToXML() {
		System.out.println("javabean转xml字符串");
		UserInfo userInfo = new UserInfo();
		userInfo.setUsername("张三");
		userInfo.setPassword("123456");
		JSONObject json = JSONObject.fromBean(userInfo);
		XMLSerializer xmlSerializer = new XMLSerializer();
		String xml = xmlSerializer.write(json, "UTF-8");
		System.out.println("javabean--->xml \n" + xml);
	}

	/**
	 * JAVA转JSON格式
	 */
	public static void javaToJSON() {
		System.out.println("java代码封装为json字符串");
		JSONObject jsonObj = new JSONObject();
		jsonObj.put("username", "张三");
		jsonObj.put("password", "123456");
		System.out.println("java--->json \n" + jsonObj.toString());
	}

	/**
	 * JSON 格式转 List
	 */
	@SuppressWarnings("rawtypes")
	public static List jsonToListObject(String jsonString, Class clazz) {
		List lists = new ArrayList();
		JSONArray jsonArray = JSONArray.fromObject(jsonString);
		// Object[] obj = new Object[jsonArray.length()];
		for (int i = 0; i < jsonArray.length(); i++) {
			JSONObject jsonObject = jsonArray.getJSONObject(i);
			// obj[i] = JSONObject.toBean(jsonObject, clazz);
			lists.add(JSONObject.toBean(jsonObject, clazz));
		}
		return lists;
	}

	/**
	 * List 格式转 JSON
	 */
	//ObjectTest是自己定义的一个javabean,输出部分的属性都是JAVABean中的
	List ot = jsonToListObject(jsonString, ObjectTest.class);
	JSONObject jo = new JSONObject();
	jo.put("jo", ot);
	System.out.println(jo.toString());
	//输出格式是:{"jo":[{"val":2.51,"name":"苏EA0002","mark":"high"},{"val":2.32,"name":"苏EA0001","mark":"low"},{"val":2.18,"name":"苏EA0003","mark":"low"}]}
}


package com.yaodaqing.json.test;

public class UserInfo {
	
	public String username;
	public String password;

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

}

  • lib.rar (973.6 KB)
  • 下载次数: 13
分享到:
评论
1 楼 xianjoong 2012-10-16  
您好,代码有误,能提供下源码下载吗?谢谢!

相关推荐

Global site tag (gtag.js) - Google Analytics