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 Iterableimport 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);
}
}