JSON for java入门总结[转]
一、JSON介绍
JSON(JavaScript Object Notation),类似于XML,是一种数据交换格式,比如JAVA产生了一个数据想要给JavaScript,则除了利用XML外,还可以利用JSON;
JSON相比XML的优势是表达起来很简单;
官网:http://www.json.org/
JSON是AJAX中的X(就是可以取代XML); ? ? ? ? ?------出自JSON创始人;
?
注意:JSON并不是一个文档格式,没有*.json的文档,一般JSON格式的文档存在txt中,而XML可以是一个标准;
?
二、JSON数据结构JSON有两种数据结构:
(1)Map,也称为对象;{....}
(2)Array;[......]
也就是说所有的JSON对象都是要以这些形式表示;
?
1.Map简单的说就是Java中的Map,名称-值对的形式给出,名称和值之间用“:”隔开,两个Map之间用“,”隔开,一般表示形式如下:
{'key1':'value1','key2':'value2'}
以下为官网的图:
![JSON for java入门小结[转]](http://img.reader8.net/uploadfile/jiaocheng/2014/011413/201401140113209685.gif)
?
2.Array就是普通意义上的数组,一般形式如下:
['arr1','arr2','arr3'];
以下为官网的图:
?
![JSON for java入门小结[转]](http://img.reader8.net/uploadfile/jiaocheng/2014/011413/201401140113209686.gif)
?
图中的value可以是:
?
![JSON for java入门小结[转]](http://img.reader8.net/uploadfile/jiaocheng/2014/011413/201401140113209687.gif)
?
?
?
总结:
(1)JSON的数据结构只有两种;
(2)可以嵌套表示,比如Array中可以嵌套Object等;
(3)记住:Object是以{}表示,Array是以[? ]表示;
?
三、JSON与XML互转示例前面提到任何的XML都能够转换成JSON包;
?
1.简单XMLXML格式:
?
JSON格式:
?
?
{"section":{"title":"BOOK","signing":[{"author":{"name":"author-1"},"book":{"title":"book1","price":"$11"}},{"author":{"name":"author-2"},"book":{"title":"book2","price":"$22"}}]}}}view plaincopy to clipboardprint?- package?com.xiazdong.json;????
- import?java.io.File;??import?java.io.FileReader;??
- ??import?weibo4j.org.json.JSONObject;??
- import?weibo4j.org.json.JSONTokener;????
- public?class?JsonStringerDemo?{????
- ????public?static?void?main(String[]?args)?throws?Exception{??????????JSONObject?obj?=?new?JSONObject(new?JSONTokener(new?FileReader(new?File("1.txt"))));??
- ????????System.out.println(obj.getJSONObject("section").getJSONArray("signing").getJSONObject(0).getJSONObject("author").getString("name"));?<span?style="white-space:pre">???????</span>//获取author-1 ??????}??
- ??
FROM:http://blog.csdn.net/xiazdong/article/details/7059573
- }??