我試圖JSON響應轉換成數組中的動作腳本3到JSON轉換成數組
好方法這是我的JSON響應:
[{
"id": 1,
"klistid": 8017,
"name": "List item name",
"description": "List item description",
"type": 1,
"offset": 300,
"req": "gfi"
},
{
"id": 2,
"klistid": 8018,
"name": "List item name",
"description": "List item description",
"type": 1,
"offset": 600,
"req": "gfi"
},
{
"id": 3,
"klistid": 8019,
"name": "List item name",
"description": "List item description",
"type": 1,
"offset": 900,
"req": "gfi"
}]
,這是我的AC3編碼:
function GetLists()
{
var req:URLRequest = new URLRequest("http://localhost:51318/api/List/1");
var ret:URLLoader = new URLLoader();
ret.addEventListener(Event.COMPLETE,function(e:Event)
{
var jsonData:Object = JSON.decode(ret.data);
for (var i:String in jsonData)
{
trace(i + ": " + jsonData[i]);
}
});
ret.load(req);
}
我把這個函數分配給一個按鈕,但是每當我點擊那個按鈕什麼都不會發生。當它進入for循環代碼時,我會在ac3代碼中放入痕跡,只是停下來,什麼也不做。我只是想將這個json字符串轉換爲數組或列表來遍歷它。我已經看到一些關於將JSON字符串轉換爲數組的帖子,但我已經嘗試過,但仍然沒有任何工作。
感謝
解碼時已經有陣列了。 'var jsonData:Object = JSON.decode(ret.data)'所以如果你做了trace(jsonData是Array)'你就會變成真的。所以你可以通過執行'jsonData [0] .id'來訪問你的對象等。 – BadFeelingAboutThis
另外,你可以使用內置的頂層JSON函數 - 也就是'JSON.parse(ret.data)'; – BadFeelingAboutThis
@LDMS奇怪的是,當我用'trace(jsonData是數組)檢查我的jsonData時,我得到了錯誤'是我的json字符串錯誤? –