json-lib库用法
2009-11-21 16:25
302 查看
json-lib依赖
json-lib-2.3-jdk15.jar
=======================
commons-collections-3.1.jar
commons-beanutils.jar
ezmorph-1.0.4.jar
commons-logging-1.1.jar
commons-lang-2.3.jar
xom-1.1.jar
printValueFromJsonStr方法结果:
{"id": 1, "name": "haha", "email": [{"id": 1, "address": "test_0123@yahoo.com.cn"}, {"id": 2, "address": "test_0123@yahoo.com"}]}
name=haha
address=test_0123@yahoo.com.cn
address=test_0123@yahoo.com
printValueFromJsonStr1方法结果:
{"id": 1, "name": "haha", "email": [{"id": 1, "address": "test_0123@yahoo.com.cn"}, {"id": 2, "address": "test_0123@yahoo.com"}]}
class=class net.sf.ezmorph.bean.MorphDynaBean;addr=test_0123@yahoo.com
printValueFromJsonStr1=haha
strToJsonArray方法结果:
strToJsonArray=["1","2","3"]
strToBean结果:
name=haha;age=26
mapToJson结果:
Map={"key3":"value3","key2":"value2","key1":"value1"}
arrayToJson结果:
Array=[{"age":11,"name":"name1"},{"age":22,"name":"name2"},{"age":33,"name":"name3"}]
listToJson结果:
List=[{"age":11,"name":"name1"},{"age":22,"name":"name2"},{"age":33,"name":"name3"}]
objectToJson结果:
Object={"age":26,"name":"name"}
combineToJson结果:
Combine={"flag":"outer","list":[{"users":[{"age":11,"name":"name1"},{"age":22,"name":"name2"},{"age":33,"name":"name3"}],"key1":"value1"},"test"]}
jsonToXml结果:
{"id": 1, "name": "haha", "email": [{"id": 1, "address": "test_0123@yahoo.com.cn"}, {"id": 2, "address": "test_0123@yahoo.com"}]}
toXml=<?xml version="1.0" encoding="UTF-8"?>
<o><email class="array"><e class="object"><address type="string">test_0123@yahoo.com.cn</address><id type="number">1</id></e><e class="object"><address type="string">test_0123@yahoo.com</address><id type="number">2</id></e></email><id type="number">1</id><name type="string">haha</name></o>
xmlToJson结果:
toJson={"email":[{"address":"test_0123@yahoo.com.cn","id":1}]}
json-lib-2.3-jdk15.jar
=======================
commons-collections-3.1.jar
commons-beanutils.jar
ezmorph-1.0.4.jar
commons-logging-1.1.jar
commons-lang-2.3.jar
xom-1.1.jar
package json; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.commons.beanutils.PropertyUtils; import net.sf.ezmorph.bean.MorphDynaBean; import net.sf.json.JSON; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import net.sf.json.xml.XMLSerializer; public class JSONTest { private static String jsonStr = "{/"id/": 1, /"name/": /"haha/", /"email/": [{/"id/": 1, /"address/": /"test_0123@yahoo.com.cn/"}, {/"id/": 2, /"address/": /"test_0123@yahoo.com/"}]}"; public static class User { private String name; private int age; public User() { } public User(String n, int a) { this.name = n; this.age = a; } public void setName(String n) { this.name = n; } public void setAge(int a) { this.age = a; } public String getName() { return name; } public int getAge() { return age; } } private static User[] getUsers() { return new User[] { new User("name1", 11), new User("name2", 22), new User("name3", 33) }; } private static void printValueFromJsonStr() { System.out.println(jsonStr); JSONObject jsonObj = JSONObject.fromObject(jsonStr); String name = jsonObj.getString("name"); System.out.println("name=" + name); JSONArray jsonArr = jsonObj.getJSONArray("email"); for (int i = 0; i < jsonArr.size(); i++) { JSONObject jObj = jsonArr.getJSONObject(i); System.out.println("address=" + jObj.getString("address")); } } private static void strToJsonArray() { String str = "['1','2','3']"; JSONArray arr = JSONArray.fromObject(str); System.out.println("strToJsonArray=" + arr.toString()); } private static void printValueFromJsonStr1() { System.out.println(jsonStr); JSONObject jsonObj = JSONObject.fromObject(jsonStr); Object bean = JSONObject.toBean(jsonObj); try { String name = (String)PropertyUtils.getProperty(bean, "name"); Object email = PropertyUtils.getIndexedProperty(bean, "email", 1); String addr = (String)PropertyUtils.getProperty(email, "address"); System.out.println("class=" + email.getClass() + ";addr=" + addr); MorphDynaBean eBean = (MorphDynaBean)email; System.out.println("printValueFromJsonStr1=" + name); } catch (Exception e) { e.printStackTrace(); } } private static void strToBean() { String str = "{/"name/": /"haha/", /"age/": 26}"; JSONObject obj = JSONObject.fromObject(str); User bean = (User)obj.toBean(obj, User.class); System.out.println("name=" + bean.getName() + ";age=" + bean.getAge()); } private static void mapToJson() { Map<String, String> map = new HashMap<String, String>(); map.put("key1", "value1"); map.put("key2", "value2"); map.put("key3", "value3"); JSONObject jsonObj = JSONObject.fromObject(map); System.out.println("Map=" + jsonObj.toString()); } private static void arrayToJson() { User[] users = getUsers(); JSONArray jsonArr = JSONArray.fromObject(users); System.out.println("Array=" + jsonArr.toString()); } private static void listToJson() { User[] users = getUsers(); List<User> data = new ArrayList<User>(); for (int i = 0; i < users.length; i++) { data.add(users[i]); } JSONArray jsonArr = JSONArray.fromObject(data); System.out.println("List=" + jsonArr.toString()); } private static void objectToJson() { User user = new User("name", 26); JSONObject jsonObj = JSONObject.fromObject(user); System.out.println("Object=" + jsonObj.toString()); } private static void combineToJson() { User[] users = getUsers(); Map<String, Object> map = new HashMap<String, Object>(); map.put("users", users); map.put("key1", "value1"); List<Object> list = new ArrayList<Object>(); list.add(map); list.add("test"); Map<String, Object> outerMap = new HashMap<String, Object>(); outerMap.put("list", list); outerMap.put("flag", "outer"); JSONObject jsonObj = JSONObject.fromObject(outerMap); System.out.println("Combine=" + jsonObj.toString()); } private static void jsonToXml() { System.out.println(jsonStr); JSONObject jsonObj = JSONObject.fromObject(jsonStr); XMLSerializer x = new XMLSerializer(); String xml = x.write(jsonObj); System.out.println("toXml=" + xml); } private static void xmlToJson() { String xml = "<o><email class='array'><e class='object'><address type='string'>test_0123@yahoo.com.cn</address><id type='number'>1</id></e></email></o>"; XMLSerializer x = new XMLSerializer(); JSON json = x.read(xml); System.out.println("toJson=" + json.toString()); } public static void main(String[] args) { printValueFromJsonStr(); printValueFromJsonStr1(); strToJsonArray(); strToBean(); mapToJson(); arrayToJson(); listToJson(); objectToJson(); combineToJson(); jsonToXml(); xmlToJson(); } }
printValueFromJsonStr方法结果:
{"id": 1, "name": "haha", "email": [{"id": 1, "address": "test_0123@yahoo.com.cn"}, {"id": 2, "address": "test_0123@yahoo.com"}]}
name=haha
address=test_0123@yahoo.com.cn
address=test_0123@yahoo.com
printValueFromJsonStr1方法结果:
{"id": 1, "name": "haha", "email": [{"id": 1, "address": "test_0123@yahoo.com.cn"}, {"id": 2, "address": "test_0123@yahoo.com"}]}
class=class net.sf.ezmorph.bean.MorphDynaBean;addr=test_0123@yahoo.com
printValueFromJsonStr1=haha
strToJsonArray方法结果:
strToJsonArray=["1","2","3"]
strToBean结果:
name=haha;age=26
mapToJson结果:
Map={"key3":"value3","key2":"value2","key1":"value1"}
arrayToJson结果:
Array=[{"age":11,"name":"name1"},{"age":22,"name":"name2"},{"age":33,"name":"name3"}]
listToJson结果:
List=[{"age":11,"name":"name1"},{"age":22,"name":"name2"},{"age":33,"name":"name3"}]
objectToJson结果:
Object={"age":26,"name":"name"}
combineToJson结果:
Combine={"flag":"outer","list":[{"users":[{"age":11,"name":"name1"},{"age":22,"name":"name2"},{"age":33,"name":"name3"}],"key1":"value1"},"test"]}
jsonToXml结果:
{"id": 1, "name": "haha", "email": [{"id": 1, "address": "test_0123@yahoo.com.cn"}, {"id": 2, "address": "test_0123@yahoo.com"}]}
toXml=<?xml version="1.0" encoding="UTF-8"?>
<o><email class="array"><e class="object"><address type="string">test_0123@yahoo.com.cn</address><id type="number">1</id></e><e class="object"><address type="string">test_0123@yahoo.com</address><id type="number">2</id></e></email><id type="number">1</id><name type="string">haha</name></o>
xmlToJson结果:
toJson={"email":[{"address":"test_0123@yahoo.com.cn","id":1}]}
相关文章推荐
- [二]Json-lib的用法
- Json-lib用法
- json-lib库用法
- JSON-lib的常见用法
- json-lib用法
- Json lib JsonConfig用法
- Json的用法(转自JSON-lib的网站上)
- json-lib 日期处理类的一些用法
- json-lib的用法
- JSONObject和JSONArray(json-lib-2.4)的基本用法
- [C#][Newtonsoft.Json] Newtonsoft.Json 序列化时的一些其它用法
- JSON入门之二:org.json的基本用法
- matplotlib基本用法-【老鱼学matplotlib】
- libcurl HTTP POST请求向服务器发送json数据
- Android数据格式解析对象JSON用法
- JSON.parse()和JSON.stringify(),HTML5本地存储localStorage、sessionStorage基本用法
- 使用json-lib的JSONObject.toBean( )时碰到的日期属性转换的问题
- ../gems/json-1.8.0/lib/json/common.rb:67: [BUG] Segmentation fault
- (27)Cocos2d-x 3.0 Json用法
- Json-lib使用问题