[Haxe] HaxeFlixelでJsonオブジェクトを利用する--- can't iterate on a Dynamic value

Haxe(あるいはHaxeFlixel)にてJSONのデータを操作する方法をメモしておきます。

HaxeではDynamic型を利用して、文字列からオブジェクトの属性を定義することができます。



■注意1:項目のデリミタ
JSONの記法では、要素間のカンマは
1番後ろの要素の後につけてはいけないようです。(ランタイムエラー)
neko: Uncaught exception - Invalid char 125
■注意2:配列の反復
Dynamicオブジェクトの要素内の配列を
forでイテレート(反復)するときは、
一旦 Array<Dynamic>型にセットし直さないと
以下のようなコンパイルエラーになります。
haxe: You can't iterate on a Dynamic value, please specify Iterator or Iterable
import haxe.Json;
    static function main()
    {
        Sys.println("test starting.");
        
        var data : String =
            '{
                "provinces": [
                    {
                        "name": "Kyoto",
                        "capital": "Kyoto"
                    },{
                        "name": "Hyogo",
                        "capital": "Kobe"
                    }]
            }
        ';
        var x = Json.parse(data);
        var a : Array<Dynamic> = x.provinces;
        for (i in a) {
            trace(i);
        }
    }