我之前使用過JSON對象,並且它們的工作完美,但之前製作的JSON對象取自於MySQL條目的結果。現在,我試圖通過PHP中的數組創建自己的JSON對象,並且它在數據庫中正確顯示,但是我無法像以前那樣訪問任何值。JSON,PHP,AS3不知所措:無法追蹤正確的值
$chatArray = array(
array(
'chatusername' => 'Troy',
'chatuserid' => '123',
'chatmessage' => 'Hello World'
),
array(
'chatusername' => 'Nick',
'chatuserid' => '124',
'chatmessage' => 'Testing'
));
$ inputArray = json_encode($ chatArray);
這就是我輸入到我的數據庫,就像我說的那樣很好。然後,我在一個單獨的.PHP呼籲,並得到這個
{"chat":"[{\"chatuserid\": \"123\", \"chatmessage\": \"Hello World\", \"chatusername\": \"Troy\"}, {\"chatuserid\": \"124\", \"chatmessage\": \"Testing\", \"chatusername\": \"Nick\"}]"}
它拋出的「聊天」出門前這是我的數據庫中列名這我不知道爲什麼。
當我跟蹤它,我只能通過似乎
var messageArray:Object = JSON.parse(event.target.data);
trace(messageArray.chat);
追查它的任何時候,我嘗試引用說messageArray.chat.chatusername它返回一個錯誤。
對不起,我知道這可能是一個簡單的解決方案,但我一直在尋找和工作幾個小時。
任何幫助非常感謝!謝謝!
我*想*您需要'messageArray.chat [0] .chatusername'作爲第一條消息,'messageArray.chat [1] .chatusername'作爲第二條消息。或者我錯過了什麼? – rickdenhaan
這就是我的想法,但然後它返回一個錯誤ReferenceError:錯誤#1069:在字符串上找不到屬性0,並且沒有默認值。 –
啊,我明白了。 JSON輸出不正確。 'messageArray.chat'的內容實際上是一個JSON編碼的字符串本身。您需要單獨使用「JSON.parse」,或者修復生成該輸出的PHP文件。 – rickdenhaan