以前はJSONオブジェクトを使用していましたが、それらは完全に動作しますが、以前に作成したJSONオブジェクトはフェッチされたMySQLエントリの結果でした。今、私は自分のJSONオブジェクトをPHPの配列を通して作成しようとしていますが、データベースに正しく表示されますが、以前のような値にはアクセスできません。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'、2番目のメッセージには' messageArray.chat [1] .chatusername'が必要です。または私は何かを逃していますか? – rickdenhaan
これは私が思ったものですが、エラーを返します。ReferenceError:エラー#1069:Stringにプロパティ0が見つかりません。デフォルト値はありません。 –
ああ、そうです。 JSON出力が正しくありません。 'messageArray.chat'の内容は実際にはJSONでエンコードされた文字列です。 'JSON.parse'を個別に行うか、その出力を生成するPHPファイルを修正する必要があります。 – rickdenhaan