ここに私はこのjsonファイルを持っています。as3がJSONで配列を渡すのはなぜですか?
{
"BnUs5hQZkJWLU9jGlpx9Ifq5ocf2" : {
"bio" : "Your bio!\r",
"birthday" : "Date of Birth?",
"location" : "Location?",
"markerBorder" : 1.5542403222038021E7,
"markerColor" : 8222122.31461079,
"name" : "NamesName?",
"profilePrivacy" : 2,
"sex" : "Gender?",
"privacy" : 2,
"points" : {
"-Kc7lfJk3XbPlNyk-wIR" : {
"address" : "dsfsdfasfsfd",
"description" : "status/desription",
"latitude" : 35.2,
"longitude" : -80.7,
"mediaTargets" : "none",
"pub" : false,
"timestamp" : 1486205926658
},
"aaa" : "aaa"
}
}
}
これらのランダムな文字列は、firebaseを使用すると自動的に作成されます。
このシナリオでは、より多くの「ポイント」が考慮されることがあります。だから私がポイントを参照するとき、配列には"-Kc7lfJk3XbPlNyk-wIR"
(配列)と"aaa"
(文字列)の両方が含まれているので、配列と対話していなければなりません。
なぜparsedObject.points
を配列に変換しようとすると、タイプエラーが発生しますか?
var parsedObject:Object = JSON.parse(e.target.data);
var multiArray:Array = parsedObject.points;
TypeError: Error #1034: Type Coercion failed: cannot convert [email protected] to Array.
私は基本的には、this guyのやり方とは反対にしようとしています。
編集:私はそれだけで、文字列、数値およびブール値を扱うことthe notesに見 ..
私は同じ値を複製対象に「親」ノードを追加することによって、それを回避するために管理ノード全体の名前で、スクリプトで参照できるようにします。これについてもっと良い方法がありますか?かなり冗長に見えます。
var parsedObject:Object = JSON.parse(e.target.data);
var myPoints:Object = parsedObject["points"];
//Get all trek names
for each (var key:Object in myPoints)
{
trace("Key = " + key.parent);
trace(parsedObject.treks[key.parent].latitude) //Returns -80.7
}