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;
}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值