一、JSON的全称是JavaScript Object Notation,是一种轻量级的数据交换格式。
二、通过java来创建JSON对象
1.引入jar包
我这里使用的是json-lib-2.3-jdk15.jar,下载地址:http://sourceforge.net/projects/json-lib/files/
Json-lib requires (at least) the following dependencies in your classpath:
jakarta commons-lang 2.4
jakarta commons-beanutils 1.7.0
jakarta commons-collections 3.2
jakarta commons-logging 1.1.1
ezmorph 1.0.6
2.重要的对象及方法
1)JSONObject:JSON对象{}。
2)JSONArray:JSON数组对象,[{},{}]。
3)fromObject(object):将对象转换为JSON对象。
4)JSONObject.accumulate(key,value):向JSONObject中增加JSON数据,可以重复。
5)element(key,value):向JSON对象中增加JSON数据,如果重复后一个会替换前一个。
6)toString(i,i):将JSON对象转换为字符串,如果包含参数,是将其美化后输出。
/** * 描述 : <将字符串或数组转换为JSON>. <br> */ JSONObject resultJSON = new JSONObject(); resultJSON .accumulate("name", "Violet") .accumulate("occupation", "developer") .accumulate("age", new Integer(22)) .accumulate("array", new int[] { 1, 2, 3 }) .accumulate( "muliArray", "[{'type': '你好', 'value': 'kelly@seankelly.biz'},{'type': 'home', 'pref': 1, 'value': 'kelly@seankelly.tv'}]"); System.out.println(resultJSON.toString(1, 1)); /** * 描述 : <将Map转换为JSON>. <br> */ JSONObject resultJSON2 = null; Map map = new HashMap(15); map.put("name", "hanqf"); map.put("age", 28); map.put("phone", "{home:135,busi:139}"); resultJSON2 = JSONObject.fromObject(map); System.out.println(resultJSON2.toString()); /** * 描述 : <JavaBean转换为JSON>. <br> */ JSONObject resultJSON3 = null; People people = new People(); Phone phone = new Phone("135", "138"); people.setPhone(phone); resultJSON3 = JSONObject.fromObject(people); System.out.println(resultJSON3.toString()); /** * 描述 : <List转换为JSON>. <br> */ JSONArray jsonArray = null; People people2 = null; Phone phone2 = null; List<People> pList = new ArrayList<People>(); for (int i = 0; i < 3; i++) { people2 = new People(); phone2 = new Phone("135" + i, "138" + i); people2.setAge(i); people2.setPhone(phone2); pList.add(people2); } jsonArray = JSONArray.fromObject(pList); System.out.println(jsonArray.toString());
三、JSON进阶
1.再来看几个重要的对象和方法
1)JSON:JSON对象的顶级接口,JSONObject,JSONArray都实现了该接口
2)JSONSerializer:JSON串行化对象
3)JSONSerializer.toJSON(object):将对象串行化为JSON
4)JSONSerializer.toJava(json):将JSON转换为对象
5)MorphDynaBean:JSONSerializer.toJava(json)后的值默认为MorphDynaBean
6)XMLSerializer:JSON转换为xml对象
7)xMLSerializer.write(json):将JSON对象转换为xml
8)xMLSerializer.read(xml):将xml转换为JSON对象
2.实例
// json转map System.out.println("Line 7:"); Map mapp = (Map) JSONObject.toBean(resultJSON2, Map.class); System.out.println(mapp.get("name")); // json转JavaBean System.out.println("Line 8:"); People pp = (People) JSONObject.toBean(resultJSON3, People.class); System.out.println(pp.getPhone().getBusi());
相关推荐
Json学习 Json学习 Json学习 Json学习
json 实现ajax 返回对象 操作 json 学习 json研究
java学习资料json的源代码 欢迎大家下载学习
json 学习帮助文档 json 学习帮助文档 json 学习帮助文档
Json学习的ppt
四轧json学习学习111111
JavaScript数组对象JSON学习笔记,推荐
js遍历xml 遍历json学习
个人关于设备的json学习
Json学习笔记,你的必选哦,与大家共享,一起进步
什么是JSON? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。它基于ECMA262语言规范(1999-12第三版)中JavaScript编程语言的一个子集。 JSON采用与...
json学习笔记、jackson的jar包、核心代码段。
本人学习 json总结希望 可以 给各位朋友 点 帮助
WCF,json
Json入门学习,包含了所需的所有jar包,学习资料等,希望对初学者的入门学习提高一些帮助。
JSON学习教程,是学习json不错的选择和好的帮手
Ajax,Json的学习笔记
介绍了json的三个工具struts json,json_lib, jackson-mapper 的使用方法和一些常见错误处理
尽管【JSON】是【JavaScript】的一个子集,但JSON是独立于语言的文本格式,并且采用了类似于C语言家族的一些习惯 { firstName:Tom, lastName:Smith, sex:male, age:23, married:false, address: { ...