2013-10-03 111 views
0
在ActionScript對象的集合解析JSON字符串

我遇到了一個錯誤解析JSON字符串與JSON.parse(...)攜帶使用Json.parse

var str:String= '[{"AA":"A1", "BB":"32"}, {"AA":"A2", "BB":"12"}, {"AA":"A3", "BB":"14"}]'; 
var propertySets:Object = JSON.parse(str); 

我可以告訴大家,我是在構造JSON字符串時出現語法錯誤,但在放棄之前我已經嘗試了很多東西。如何處理藏品的任何幫助將是偉大的。

下面這個簡單的情況下對我的作品

var str:String= '{"test":"line1"}'; 
var propertySets:Object = JSON.parse(str); 

謝謝你在黑暗中

+0

'JSON.parse('[{「AA」:「A1」,「BB」:「32」},{「AA」:「A2」,「BB」 :「12」},{「AA」:「A3」,「BB」:「14」}]')'在JS控制檯中運行良好 – Ilya

+0

您能告訴使用您收到的錯誤嗎?我會說,因爲這是一個列表,因此在解析json之後,可以在列表中添加一個包裝,以便調用propertySets.listOfObjects – Zeus

+0

我的不好。這突然行得通。對錯誤的電話道歉; FlashBuilder中的項目本身有問題。感謝您使用JS控制檯的幫助。 – user2789284

回答

0

射擊,因爲我不知道動作,但儘量包裹陣列中的對象

var str:String= '{"objectArray":[{"AA":"A1", "BB":"32"}, {"AA":"A2", "BB":"12"}, {"AA":"A3","BB":"14"}]}'; 
1

JSON字符串中的語法是正確的。格式化的方式將從JSON.parse()返回一個Array實例。以下代碼適用於我:

var str:String = '[{"AA":"A1", "BB":"32"}, {"AA":"A2", "BB":"12"}, {"AA":"A3", "BB":"14"}]'; 
var propertySets:Array = JSON.parse(str) as Array; 

trace(propertySets[0].AA); // prints "A1" 
trace(propertySets[0].BB); // prints "32"