在 AS3 中,我可以按如下方式访问嵌套数组/对象:
var platformObj:Object = {"filters": {"manufacturer": ["Adobe Windows"]};
trace(platformObj["filters"]["manufacturer"]); //trace output: "Adobe Windows";
Haxe 中的错误:字符串应为 Int(对于第二个参数):
platformObj["过滤器"]["制造商"]
如何在 Haxe/OpenFL 中执行此操作?
最佳答案
openfl.utils.Object
基本上只是 Dynamic
的 typedef
,所以以下工作正常:
trace(platformObj.filters.manufacturer); // [trace] Main.hx:6: [Adobe Windows]
如果您需要使用字符串
来访问字段,您可以使用 type check 执行以下操作:
trace((platformObj["filters"] : Object)["manufacturer"]);
在幕后,所有这一切都只是reflection :
trace(Reflect.field(Reflect.field(platformObj, "filters"), "manufacturer"));
关于arrays - 通过 [String][String] 进行嵌套数组/对象访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41121236/