我之前使用过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