2

こんにちは、私は JSON を持っています:

[{"id":"1","message":"sdvsvdsdv","nickname":""},{"id":"2","message":"1234556","nickname":""},{"id":"3","message":"4555555","nickname":""}]

JavaScript 関数:

function ajax_request(){

var request = new XMLHttpRequest();
var url = "http://localhost/chat/controller.php?showmessage";
request.open("post", url, true);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

request.onreadystatechange = function(){
     if(request.readyState == 4 && request.status == 200){

               var return_data = request.responseText; // THE WHOLE JSON

               document.getElementById("chat").innerHTML = return_data;
        }
}
request.send();}

JSON全体ではなく、要素「メッセージ」のみを取得するにはどうすればよいですか?.

4

3 に答える 3

1

JSON.parse("<JSON-STRING>")オブジェクトを取り出すために使用します。オブジェクトから、メッセージを抽出できます。

何かのようなもの:

var jsonObj = JSON.parse(request.responseText);
for (var i=0; i<jsonObj.length; i++){
     alert(jsonObj[i].message); //alerts each "message" ..
}

これは実際の質問とは別のものですが、jQueryライブラリを使用することをお勧めします。それはあなたの努力の半分を奪います。$.ajax(..)AJAXリクエストを実行し、 JSON文字列を解析するのは簡単です$.parseJSON(..)-すべてクロスブラウザの方法で。

于 2012-07-08T15:05:16.393 に答える
1
var returnObject = JSON.parse(request.responseText);
for (var i in returnObject) {
    document.getElementById("chat").innerHTML += '<br/>' + returnObject[i].message;
}
于 2012-07-08T15:05:26.660 に答える
1

このような:

resp = '[{"id":"1","message":"sdvsvdsdv","nickname":""},{"id":"2","message":"1234556","nickname":""},{"id":"3","message":"4555555","nickname":""}]'
console.log(JSON.parse(resp)[0]['message'])

メソッドを使用JSON.parse()してJSON文字列をJSオブジェクトに変換します

于 2012-07-08T15:06:30.930 に答える