如何使用奇怪的名称获取对象属性

时间:2016-11-21 18:56:55

标签: actionscript-3

我的情况是属性的名称是xml namespace :: element(例如http://giggle.com/some/Path::Element)。这是奇怪的情况,因为我可以读它,但我无法访问它。 这是一个例子:

var name: String = "http://giggle.com/some/Path::Element";
var obj: Object = createAttributes(name);

// Now we have obj:{ "http://giggle.com/some/Path::Element" : [an array] }

for (var attr : Object in obj[name]){
    // do something
}

这只是对真实事物的简化。我似乎无法用obj.nameobj[name]obj['"' + name + '"']来阅读它。

我甚至尝试过类似的东西(elem的不同类型):

for (var elem: Object in obj) { // I tried Object, Array and * here
    for (var c: Object in elem)
    {
        // do something with c
    }
}

为什么会发生这种情况以及如何解决这个问题?由于这是一个有趣的问题,请不要考虑改变我创建obj的方式。 AS3允许创建这样的属性,我正在徘徊我们如何使用它。

1 个答案:

答案 0 :(得分:2)

我猜对象的就是你所命名的#34;奇怪的名字"。

键可以是名称或索引ID(字符串格式的数字" 1"," 2",..)

for (var key:String in obj) {
    var value:* = obj[key];
}