我如何使用JSON名称";1“;(或任何其他数字)而不将其重新定义为Int?

我如何使用JSON名称";1“;(或任何其他数字)而不将其重新定义为Int?,json,haxe,Json,Haxe,例如,如果我有“all_stations_info”:{“1”:{“playing”:“some song”},“2”:{“playing”:“Other song”}并且我想让歌曲在station“1”上播放,如果“1”没有被识别为Int或Float,我该如何做呢? typedef不工作,因为它也不需要Int,而且我不确定DynamicAccess是否可以用于远程数据。您尝试过使用吗 可以在这里找到一个示例:如果您使用haxe.DynamicAccess是一种抽象类型,用于处理匿名结构,该结构

例如,如果我有
“all_stations_info”:{“1”:{“playing”:“some song”},“2”:{“playing”:“Other song”}
并且我想让歌曲在station“1”上播放,如果“1”没有被识别为Int或Float,我该如何做呢?
typedef不工作,因为它也不需要Int,而且我不确定DynamicAccess是否可以用于远程数据。

您尝试过使用吗


可以在这里找到一个示例:

如果您使用
haxe.DynamicAccess是一种抽象类型,用于处理匿名结构,该结构旨在通过字符串键保存对象集合。DynamicAccess在内部使用反射


检查:

我试过了,但自己不明白,例如,谢谢!你也应该看看@mark knol answer,这通常是一个更好的方法(即使这个方法也有效)。奇怪的是,为什么这个示例链接不再有效,返回的是[object object],而不是文本……第一个跟踪是“1”节点,第二个跟踪是节点名称。如果需要节点“1”的内容,则需要调用Reflect来反映结果。也就是说,你真的应该使用马克·诺尔的解决方案。更快、更详细、完美:PNifty,不知道你能做到这一点。是的,哈克斯很棒:)
   var json:{ all_stations_info:haxe.DynamicAccess<Any> } = haxe.Json.parse('{"all_stations_info": {"1": {"playing": "some song"}, "2": {"playing": "another song"}}}');
    trace(json.all_stations_info["1"]);
typedef StationsInfo = { all_stations_info:haxe.DynamicAccess<Any> }
typedef StationsInfo = { all_stations_info:haxe.DynamicAccess<StationData> };
typedef StationData = { playing: String };