嵌套的Json Object into Array

时间:2011-08-18 03:48:26

标签: flash actionscript-3

我正在尝试访问嵌套的json数组

        var jsonResponse:Object = JSON.decode(response);
        var foo:Object = JSON.decode(jsonResponse.nested);
        var bar:Array = foo as Array;

当我检查foo时 - 它是一个有大约50个子对象的对象。

我可以读取子对象的属性。

但是,当我将foo转换为数组时,它会返回null。

我宁愿不迭代每个对象并将其推入数组。

有什么建议吗?

2 个答案:

答案 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