2017-09-29 16 views
0

APIコールからの応答を取得して、出力が改行などでフォーマットされるようにしようとしています。私は両方の解析とstringifyを試しても、ただ1つの行として出力を取得します。JSON.parseとJSON.stringify

var HttpClient = function() { 
this.get = function(url, callback) { 
    var anHttpRequest = new XMLHttpRequest(); 
    anHttpRequest.onreadystatechange = function() { 
     if (anHttpRequest.readyState == 4 && anHttpRequest.status == 200) 
      callback(anHttpRequest.responseText); 
    } 

    anHttpRequest.open("GET", url, true);    
    anHttpRequest.send(null); 

    } 
} 

var client = new HttpClient(); 
client.get("https://api.opendota.com/api/players/26202535/matches?limit=1", 
function(response) { 

JSON.parse(response); 
console.log(response); 
document.getElementById("demo").innerHTML=response; 

}); 

出力: [{ "match_id":3469695808、 "player_slot":3、 "radiant_win":真、 "期間":1237、 "game_mode":22、 "lobby_type":7、「hero_id 13、 "start_time":1506540​​251、 "version":20、 "kills":11、 "deaths":2、 "assists":12、 "skill":3、 "leaver_status":0、 "party_size" 1}]

答えて

1

あなたは素敵なインデントを保つ(または目的地タグにCSS white-space:preを追加)した後、インデント

var data = '[{"match_id":3469695808,"player_slot":3,"radiant_win":true,"duration":1237,"game_mode":22,"lobby_type":7,"hero_id":13,"start_time":1506540251,"version":20,"kills":11,"deaths":2,"assists":12,"skill":3,"leaver_status":0,"party_size":1}]' 
 

 
document.getElementById('demo').innerHTML = JSON.stringify(JSON.parse(data),null, 4);
<pre id="demo"></pre>
を追加するJSON.stringifyの第三引数を使用するようにPREタグが必要になります

+0

なぜstringifyとparseの両方が必要ですか? – Nick

+0

オリジナルはJSON(文字列)です....それを誇示するために、次に解析します:p –