我正在尝试访问嵌套的json数组
var jsonResponse:Object = JSON.decode(response);
var foo:Object = JSON.decode(jsonResponse.nested);
var bar:Array = foo as Array;
当我检查foo时 - 它是一个有大约50个子对象的对象。
我可以读取子对象的属性。
但是,当我将foo转换为数组时,它会返回null。
我宁愿不迭代每个对象并将其推入数组。
有什么建议吗?
答案 0 :(得分:3)
如果您有对象,则确实无法将其强制转换为Array
。您需要修改JSON字符串(如果您有权访问它),或者将属性作为对象进行迭代:
for (var n:String in foo) {
var value = foo[n];
trace(value);
}
或者,如果您真的想要使用数组,则需要手动创建它:
var bar:Array = [];
for (var n:String in foo) {
var value = foo[n];
bar.push(value);
}
答案 1 :(得分:3)
您可以将JSON权限解码为数组而不是Object,如下所示:
var jsonResponse:Array = JSON.decode(response);
var foo:Array = JSON.decode(jsonResponse.nested);
看看这个问题: AS3 JSON parsing