JSONObject和JSONArray的区别

http://blog.csdn.net/xiazdong/article/details/7059573
上面是一个博主写的,非常不错。下面再做一些总结:

1.两者可以添加的数据类型value是相同的。数据类型value 如下:
这里写图片描述
图1

区别是数组和map的区别,说白了,就是JSONObject中的元素只能通过key来获得,JSONArray中的元素只能通过数组下标来获得。

2.JSONArray和普通数组的区别:
普通数组里元素的数据类型必须相同,比如int[]的元素必须是int,而JSONArray的数组元素只要是数据类型value即可,不需要具体的类型相同。(也可以理解为JSONArray的数组元素的类型就是value)
最好JSONArray里面放相同数据类型的元素,这样操作不容易出错,比较方便

3.其中JSONOject的value不能为空但是JSONArray的value的值可以为空。图1数据类型中,object指java中的对象都可以用JSONObject来表示(即将java对象的属性表示为JSONObject的键值对);array值的是java中的数组,list等可以用JSONArray来表示。

4.关于GSON解析
(1)下面是解析JSONObject

gson.fromJson(jsonString, User.class);

(2)下面是解析JSONArray,JSONArray的每个元素是一个JSONObject

gson.fromJson(jsonString,new TypeToken<List<User>>(){}.getType()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章