Json javaBean xml String之间的转换
2013-12-19 08:58
621 查看
1.JSONObject介绍
JSONObject-lib包是一个beans,collections,maps,java arrays和xml和JSON互相转换的包。2.下载jar包
http://files.cnblogs.com/java-pan/lib.rar提供了除JSONObject的jar之外依赖的其他6个jar包,一共7个jar文件
说明:因为工作中项目用到的版本是1.1的对应jdk1.3的版本,故本篇博客是基于1.1版本介绍的。
对应此版本的javadoc下载路径如下:http://sourceforge.net/projects/json-lib/files/json-lib/json-lib-1.1/
目前最新的版本为2.4,其他版本下载地址为http://sourceforge.net/projects/json-lib/files/json-lib/
3.项目环境:
system:WIN7 myeclipse:6.5 tomcat:5.0 JDK:开发环境和编译用的都是1.6JSONArray:A JSONArray is an ordered sequence of values.
是一个final类,继承了Object,实现了JSON接口
构造方法如下:
JSONArray();构造一个空的JSONArray对象
普通方法如下:
fromArray(Object[] array);静态方法,通过一个java数组创建一个JSONArray对象
fromCollection(Collection collection);静态方法,通过collection集合对象创建一个JSONArray对象
fromString(String string);静态方法,通过一个json格式的字符串构造一个JSONArray对象
toString();把JSONArray对象转换为json格式的字符串
iterator();返回一个Iterator对象来遍历元素
接下来同样是put/get方法……
XMLSerializer:Utility class for transforming JSON to XML an back.
一个继承自Object的类
构造方法如下:
XMLSerializer();创建一个XMLSerializer对象
普通方法如下:
setRootName(String rootName);设置转换的xml的根元素名称
setTypeHintsEnabled(boolean typeHintsEnabled);设置每个元素是否显示type属性
write(JSON json);把json对象转换为xml,默认的字符编码是UTF-8,
需要设置编码可以用write(JSON json, String encoding)
对XML和JSON字符串各列一个简单的例子
JSON:{"password":"123456","username":"张三"}
xml
<?xml version="1.0" encoding="UTF-8"?>
<user_info>
<password>123456</password>
<username>张三</username>
</user_info>
转换代码如下:
public class JsonObjects { /** * 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字符串转换成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"); 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); } /** * javaBean转换成json * 需要创建一个实体类javabean */ 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字符串 * 需要创建一个javaBean */ 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); } /** * 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()); } /** * 测试入口 * @param args */ public static void main(String args[]) { javaBeanToXML(); } }
实体类javaBean
public class UserInfo { private int id; private String username; private String password; public int getId() { return id; } public void setId(int id) { this.id = id; } 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; } }
相关文章推荐
- Json-lib实现json,java对象,xml之间相互转换 .
- FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
- FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换操作
- [分享]Java之Bean、Map、Json之间的互相转换工具类
- FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
- 【java组件学习】使用JSONObject实现java、json、xml之间转换
- FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
- xml和bean,Json之间的转换
- xml json javaBean转换解决方案
- FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
- java中Xml、json之间的相互转换
- java中Xml、json之间的相互转换
- [JSON-lib框架]使java对象、json、xml之间的转换不再困难
- java和js中JSONObject,JSONArray,Map,String之间转换——持续更新中
- JSON-lib框架,转换JSON、XML、JavaBean
- FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
- JSON与JAVA数据的转换(bean,map和XML转换成JSON并能够把JSON转回成bean和DynaBean)
- jsonObject关于xml,json,bean之间的转换关系
- java--09--对象、JSON、Map、XML之间的转换
- [JSON-lib框架]使java对象、json、xml之间的转换不再困难