[英]Getting an array from a JSON Object
好吧,我在这里发表了一篇很长的文章,其中包含大量数据和示例代码,但是我想我已经意识到了这个问题,并且只是在寻求确认。
具体来说,当使用json.getJSONArray(TAG)时(其中json是JSONObject),这仅适用于距离数组最近的JSONObject吗? IE,如果有
{"obj1": {"obj2": {"obj3": {"array":[]}}}}
那么调用必须在object3.getJSONArray上? 我以为我可以抽出任何数组而不管嵌套如何,但事实并非如此?
干杯
在您的情况下,您应该使用
obj1.getJSONObject("obj1").getJSONObject("obj2").getJSONObject("obj3").getJSONArray("array");
到达那个嵌套数组。
没错, getJSONArray
在实际级别上搜索数组对象。
要获取Array,您应该去: JSONObject mainObject = new JSONObject("{Oject 1: {Object 2: {Object 3: {[ARRAY]}}}}") JSONObject object1 = mainObject.getJSONObject("object 1"); and so on till... JSONArray object1 = object2.getJSONArray("object 3");
JSONObject mainObject = new JSONObject("{Oject 1: {Object 2: {Object 3: {[ARRAY]}}}}") JSONObject object1 = mainObject.getJSONObject("object 1"); and so on till... JSONArray object1 = object2.getJSONArray("object 3");
考虑这两个Java类
public class Foo {
private Bar bar;
private String value;
}
public class Bar {
private int count;
}
和对象
Foo foo = new Foo();
foo.value = "some value";
Bar bar = new Bar();
bar.count = 42;
foo.bar = bar;
你能做
foo.count = 100;
? 答案是不。 字段count
属于Bar
对象,而不属于Foo
对象。
JSON同样适用。
{
"bar": {
"count": 42
},
"value": "some value"
}
count
元素是JSON原语,它属于名为bar
的JSON对象。
(它是一个JSON数组的事实是无关紧要的。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.