这是我的Json文件的相关部分:
"categorIEs": [ [ "Belgian Restaurant", "belgian" ], [ "BrasserIE", "brasserIEs" ] ],
我想要做的是从第二个JsONArray中检索信息(比如说“brasserIEs”).
以下代码用于从第一个数组中检索信息:
JsONArray categorIEs = JsonObject.getJsONArray("categorIEs");restaurant.setCat1(categorIEs.getJsONArray(0).getString(1));
结果是“belgian”如预期的那样,但后来我尝试了第二个数组:
restaurant.setCat2(categorIEs.getJsONArray(1).getString(1));
并且索引1超出范围[0..1)JsONException
我没有得到它,因为文件中明确存在索引0和1 …为什么0工作而不是1?
解决方法:
问题是在没有名称的另一个数组中有一个数组,你的错误可以像这样被忽略,
restaurant.setCat2(categorIEs.getJsONArray(0).getString(1));
在编码任何JsON数据之前,您应该始终检查它是否正确,
因为问题中的JsON缺少要迭代的不同值的KEY,
如果内部对象改变它的不间断变量,那么很难获得信息(任何增加或减少都会导致错误的结果).
尝试使用键值对生成JsON,
例
{ "categorIEs": [ { "ID": "00", "name": "Some_name_0" }, { "ID": "01", "name": "Some_name_1" }, { "ID": "02", "name": "Some_name_2" }, { "ID": "03", "name": "Some_name_3" }, { "ID": "04", "name": "Some_name_4" } ]}
总结 以上是内存溢出为你收集整理的JSONArray中的Android JSONArrays全部内容,希望文章能够帮你解决JSONArray中的Android JSONArrays所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)