Json-lib用法
1、需要的jar包有一下几个,别的文章中没有xom这个jar包,但我的工程中如果没有这个包,那么,json数据转换为xml数据的程序中在执行XMLSerializer xmlSerializer = new XMLSerializer(); 语句时会报错找不到xom包。
2、相关程序部分,这里都使用JUnit中的@Test方法演示测试
① 将字符串数组转换为JSON
代码如下:
@Test
public void test(){
String[] boolArray = new String[]{"zhangsan","ai","lisi"};
JSONArray jsonArray = JSONArray.fromObject(boolArray);
System.out.println(jsonArray);
}
输出结果如下:
["zhangsan","ai","lisi"]
② 将Map转换为JSON
代码如下:
@Test
public void test2(){
Map<Object, Object> map = new HashMap();
map.put("name","json");
map.put("bool",Boolean.TRUE);
map.put("int",new Integer(1));
map.put("arr",new String[]{"a","b"});
map.put("func","function(i){return this.arr[i];}");
JSONObject json = JSONObject.fromObject(map);
System.out.println(json);
}
输出结果如下:
{"arr":["a","b"],"int":1,"name":"json","func":function(i){return this.arr[i];},"bool":true}
③ 将JSON转换为XML
代码如下:
@Test
public void test3(){
JSON json = JSONSerializer.toJSON("{'username':'gaoa4aaaa', 'password':'haha', 'nested':{'f':4, 'ss':33}}");
XMLSerializer xmlSerializer = new XMLSerializer();
xmlSerializer.setTypeHintsEnabled( false );
xmlSerializer.setRootName("body" );
String xml = xmlSerializer.write( json );
System.out.println(xml);
}
输出结果如下:
<?xml version="1.0" encoding="UTF-8"?>
<body><nested><f>4</f><ss>33</ss></nested><password>haha</password><usernam e>gaoa4aaaa</username></body>
④ 将JavaBean转换为JSON
代码如下://BeanToJson是一个JavaBean组件,有name和age两个属性
@Test
public void test5(){
BeanToJson bean = new BeanToJson(); bean.setAge(20);
bean.setName("lisi");
JSONObject jsonObject = JSONObject.fromObject(bean);
System.out.println(jsonObject.get("age"));
}
输出结果如下:
20