AS3 Basic解析JSON问题

min*_*pop 2 flash json actionscript-3

我在AS3中解析JSON文件时遇到问题.我试图解析多个JSON数组,但在访问第一个JSON数组后却不知道如何进入下一个.我的JSON文件如下所示:

{   
    "term": [
            {
                "id": 4211,
                "place": "NEW YORK CITY" 
            },
            {
                "id": 2675,
                "place": "WASHINGTON (DC)"

            }
          ],
  "term": [
            {
                "id": 4211,
                "place": "NEW YORK CITY" 
            },
            {
                "id": 2675,
                "place": "WASHINGTON (DC)"

            }
]

}
Run Code Online (Sandbox Code Playgroud)

我的AS3代码如下:

public function parseData(e:Event):void
  {
   var loader:URLLoader = URLLoader(e.target);
   var values:Object = JSON.decode(loader.data);
   var term:Array = values.term;
   var counter:Number = 0;

   for (var key:Object in term)
   {
    payload[counter] = [term[key].id, term[key].place];
    counter++;
   }

      dispatchEvent(new Event(Event.COMPLETE));
  }
Run Code Online (Sandbox Code Playgroud)

我可以从第一个数组中获取数据,但是如何构建我的代码以便我可以迭代2个或更多"term"数组?

谢谢

Lir*_*una 6

JSON(或任何其他有序映射类型)无法保存重复键.

解决方案是重构JSON,如下所示:

{   
    "terms": [
        [
            {
                "id": 4211,
                "place": "NEW YORK CITY" 
            },
            {
                "id": 2675,
                "place": "WASHINGTON (DC)"

            }
        ],
        [
            {
                "id": 4211,
                "place": "NEW YORK CITY" 
            },
            {
                "id": 2675,
                "place": "WASHINGTON (DC)"

            }
        ]
    ]
}
Run Code Online (Sandbox Code Playgroud)