关于org.json.JSONArray构造JSONArray的问题

JSONArray中不一定每个成员都是JSONObject也可以是其他的,比如:String

 

在项目中,曾遇一个问题,需要传递这样的数据:

{"uuid":"s828ht5b5v","page":"0","categoryList":["b2ehv85ssl","222222","111111"]}


注意categoryList中的值:["b2ehv85ssl","222222","111111"]

这是一个JSONArray,绝不能是String,因为String是有双引号的:"["b2ehv85ssl","222222","111111"]"

原以为JSONArray中的成员都是JSONObject,因此陷入误区,也耽误了很长时间。

 

下面给出这段json正确的构造方法:

JSONArrayjsonArray=newJSONArray();
for(intindex=0;index


这里用到的类是org.json.JSONObjectorg.json.JSONArray,注意包是:org.json,不是net.sf.json

 

网上说可以使用net.sf.json.JSONArray生成JSONArray,方法确实可行,但是在执行到第5行代码时就自动转成了String格式

"["b2ehv85ssl","222222","111111"]",导致最后的结果变成了不正确的

{"staffuuid":"s828htvb5v","page":"0","categoryList":"[\"111111\",\"222222\",\"b2ehv85ssl\"]"}


因此怀疑这个包下的JSONArray其实就是org.json.JSONObject的格式的字符串,而非真正的JSONArray,否则同样执行第5行代码,不会产生不同的结果。


有清楚的大神希望解答!

你可能感兴趣的:(Android)