2016-09-22 2 views
1

こんにちはスタックオーバーフローコミュニティ 私は今この時点で固執していますが、それを解決しようと多くの投稿を行ったとしてもまだ取得できませんJSONを自分のHTML上に表示するためには、私の場合には最良の方法があります。JSONオブジェクトを表示する前に対話する

のXMLHttpRequest

経由まず、私のJSONは、様々な長さの文字列で、私のPHPコードで送信し、JSで受信
var return_data = xhr.responseText; 

JSON形式の例:私は単に私を表示するには、管理

"output":[ 
{ 
    "id":"13", 
    "titre":"assiette servite xxx", 
    "format":"dat", 
    "date":"2016-09-10", 
    "source":"DDT 68", 
    "description":"exemple" 
}, 
{ 
    "id":"16", 
    "titre":"releve pollution atmospherique", 
    "format":"shp", 
    "date":"2014-01-05", 
    "source":"agence qualite de l air", 
    "description":"exemple" 
}, 

JSON文字列:

document.getElementById("status").innerHTML = return_data; 

ただし、ここではスタイルを設定するためにループします私のHTMLに送ってください。私は文字列を解析する必要がある(例えばHow do I iterate through this JSON object in jQuery?)成功 なし

の異なるループの多くを試してみた:

var jay = JSON.parse(return_data); 

しかし、私はまだ異なるエンティティおよびディスプレイで動作するように管理していません私のHTML

<div id="status"></div> 

ID 1

タイター 形式で例えば日付

ID 2

私がやっている私はまだその間に多分誰かが私を与えることができることを期待してヒントや説明、それに取り組んやテストを作ってるんだ

日付形式 力価違う。失敗したテストの

例:

for(var i=0; i < jay.length; i++) 
{ 
    var add = jay[i]['titre']; 
} 
document.getElementById("status").innerHTML = add; 

乾杯。

+0

可能重複http://stackoverflow.com/questions/11922383/access-process-nested-objects-arrays-or- json) – Teemu

答えて

1

あなたがサーバーからJSONをラップする2つのブラケットを追加する必要があり、それが正しいJSON形式ではありません、これは次のとおりです。

{ "output":[ 
     { 
     "id":"13", 
     "titre":"assiette servite xxx", 
     "format":"dat", 
     "date":"2016-09-10", 
     "source":"DDT 68", 
     "description":"exemple" 
     }, 
     { 
     "id":"16", 
     "titre":"releve pollution atmospherique", 
     "format":"shp", 
     "date":"2014-01-05", 
     "source":"agence qualite de l air", 
     "description":"exemple" 
     }, 
    } 

そして、あなたは、ループ内で出力レベルを追加する必要があります。

for(var i=0; i < jay.output.length; i++) 
{ 
    var add = jay.output[i]['titre']; 
} 

歓声

EDIT

var add = []; 
    for(var i=0; i < jay.output.length; i++) 
     { 
      add.push(jay.output[i]['titre']); 
     } 
    document.getElementById("status").innerHTML = add.join(', '); 

これは、すべての要素をコンマで区切って表示します。

乾杯

+0

EDIT: 次のものではなく、最初のエンティティだけが機能して表示されます 変数に回答を追加するためにループに追加するものがありますか? 乾杯。 –

+0

私は答えを編集しました。 –

+0

私は同様の、非常に良いアイデアadd.push/add.joinの使用法を見つけるために働いていました。 もう一度ありがとう、あなたは私に多くの時間を救った! –

1

アレイを使用すると、地図()

document.getElementById("status").innerHTML = jay.output.map(function(obj){ 
    return obj.titre; 
}).join(', '); 
[アクセス/プロセス(ネストされた)オブジェクト、配列やJSON(の
関連する問題