2017-02-04 42 views
1

在這裏,我有這個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" 
    } 
    } 
} 

,當我用火力charactors的那些隨機字符串是自動進行的。

在這種情況下,可能會有更多的「積分」,我將不得不考慮。所以當我參考點時,我應該和一個數組交談,因爲它包含"-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 
    } 

回答

2

因爲Array是Object的子類。

var A:Array = new Array(); 
var B:Object = new Object(); 

trace(A is Array); // true 
trace(A is Object); // true 
trace(B is Array); // false 
trace(B is Object); // true 

B = new Array(); // nothing wrong here 
A = new Object(); // throws exception 

所以,你可能想告訴你,你獲得的陣列形式從parsedObject.points對象進行什麼樣的數據。

或者,這就是你如何從JSON字符串獲得實際的數組:

{ 
    "list": [1,2,3,4,5,6] 
} 
1

看起來像它的正確被JSON.parse解析給我。

JSON中的數組使用方括號,大括號被解釋爲對象。

你只從JSON.parse期待一個Array如果你有

"points": [ 
    ... 
] 

,而這是一個Object

"points": { 
    ... 
} 

我建議你看看你爲什麼不從得到[]您資源。

相關問題