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;
}
}
分享到:
相关推荐
XStream示例代码,JavaBean与XML,JSON之间互相转换(包含完整jar包)jettison-1.3.3.jar、xmlpull-1.1.3.1.jar、xstream-1.4.7.jar
NULL 博文链接:https://kingxss.iteye.com/blog/1037741
xml与json、javabean的互相转换
一个小demo展示xml的两种解析方式和四种解析方法,以及使用XStream进行javaBean与xml、json之间的转换
javaBean 与 xml 互转,提供工具类。只需要把需要转换的类放入,就可以。使用。
通过fastjson实现了JavaBean,list<JavaBean>,MAP,list等格式与json格式之间的转换,已经附带fastjson的包,包的版本为fastjson-1.1.36.jar
操作json最快的jar包,可以自由转换javabean和json和xml等。
xstream-1.4.2.jar,xpp3_min-1.1.4.jar,xmlpull-1.1.3.1.jar 包括 //XML --> JavaBean, //XML --> JavaBean //JavaBean --> JSON,//JSON--> JavaBean
XStream示例代码,JavaBean与XML,JSON之间互相转换(包含完整jar包)jettison-1.3.3.jar、xmlpull-1.1.3.1.jar、xstream-1.4.7.jar
一直以来把数据库的表转换成Entity或DTO都是一件让人头痛的事情,既浪费时间又很繁琐,看着几十上百个表的几百上千个字段,真是一件让人很头痛的事情。 我们也想过很多办法解决这个问题,包括用MyEclipse连接...
XStream示例,JavaBean与XML,JSON之间互相转换(含jar包) jettison-1.3.3.jar、xmlpull-1.1.3.1.jar、xstream-1.4.7.jar
在SpringMVC中使用JSON需要引入...转化json格式数据成为javabean对象 2.commons-beanutils-1.7.0.jar 3.commons-collections-3.2.jar 4.commons-lang-2.3.jar 5.commons-logging-1.0.4.jar 6.ezmorph-1.0.4.jar
所以在读取大型xml时可以把 xstream与saxparser结合起来使用,用saxparser读取整个xml把核心数据部分让xstrea m来解析成javabean,这样既解决了大数据的问题又利用了xstream快速转化javabean的 优点。 为了利于多...
2、新增按字段生成文件,支持把字段、JSON、XML数据转换成任何代码 3、新增大量新的自定义模板,如:DDL、随机数据、导出数据、数据模型、Ant Design Vue的CRUD模板等 4、新增更多用于自定义模板生的内置静态对象 5...
Xstream是一种OXMapping 技术,是用来处理XML文件序列化的框架,在将JavaBean序列化,或将XML文件反序列化的时候,不需要其它辅助类和映射文件,使得XML序列化不再繁索。Xstream也可以将JavaBean序列化成Json或反序列...
RedAnt项目 ...结果渲染:支持对结果进行渲染,支持html,xml,plain,json格式 Cookie管理:内置一个Cookie管理器 初步后置拦截器:支持初步拦截器与后置拦截器 单机模式:支持单机模式 发挥模式:支持发挥
完美转换豆瓣API所使用的GData/Atom类型的xml以及json致简单易读易懂易用的JavaBean '豆瓣社区/书影音/豆瓣说'全覆盖 - 全面支持豆瓣开放了的API 几乎支持全部豆瓣开放平台中开放了的API 错误处理 - 轻松了解为何...
快速将json字符串转换成一个Java Bean,免去我们根据json字符串手写对应Java Bean的过程。 使用方法:快捷键Alt+S也可以使用Alt+Insert选择GsonFormat 2. 配合ButterKnife实现注解,从此不用写findViewById,想着就...
快速将json字符串转换成一个Java Bean,免去我们根据json字符串手写对应Java Bean的过程。 使用方法:快捷键Alt+S也可以使用Alt+Insert选择GsonFormat 2. 配合ButterKnife实现注解,从此不用写findViewById,想着就...
5.2.1 JavaBean的编辑器 5.2.2 Spring默认属性编辑器 5.2.3 自定义属性编辑器 5.3 使用外部属性文件 5.3.1 使用外部属性文件 5.3.2 使用加密的属性文件 5.3.3 属性文件自身的引用 5.4 引用Bean的属性值 5.5 国际化...