2012-05-03 13 views
2

このJSON文字列を解析するにはどうすればよいですか?このJSON値を正しく取得していますか?

{"nodes":["content"],"pager":"content"} 

これは私がjsonをgrahするために使用している関数です。

$.getJSON(dataNodes, { 

}, function (data) { 

     for(var i = 0; i < data.length; i++) { 
      $('#content').append(?????data.nodes?????); 
     } 

}); 

私はそのノードの値を取得しようとしています。

答えて

2

data.nodesは一つの値(「コンテンツ」)を持つ配列であるので、あなたは、その文字列を追加しようとしている場合、あなたは使用する必要があります。

data.nodes[0] 
+0

+1 - 私が入力した答えとほぼ同じです。 – Fenton

+0

ありがとうございました。仕事が遅くて開発者が私のjson文字列の構造を変更しました:) – inertialmedia

+0

@inertialmedia No probelmo :) – Paulpro

0

あなたがいるので、それを「解析」する必要はありません。 jQueryがあなたのためにそれを世話します。

追加するには、配列から文字列を取り出す必要があります。

for(var i = 0; i < data.length; i++) { 
     $('#content').append(data[i].nodes[0]); 
    } 

しかし、私はこのようにしたいと思います。

var $content = $('#content'); 
$.each(data, function(i, value) { 
    content.append(value.nodes[0]); 
}); 
+0

'data'は配列ではありません。 – Mathletics

+0

私はそれがオブジェクトの配列であるかどうか疑問に思っていますが、その質問は「そのノードの値」を参照しているので、質問には1つのオブジェクトしか表示されません。いくつかのノードがあるように見えます。 –

+0

ここではどこにでもコメントを追加することはできないので、質問者に質問することはできません。 –

0

あなたが間違ったことを反復は、あなたのコンテンツの配列をdata.nodes反復処理する必要があり、ループのために、それはきれいだ)$ .eachを(使用することを忘れないでください:)

http://jsfiddle.net/n65D4/

$(function() { 
    var data = { 
     "nodes": ["content"], 
     "pager": "content" 
    }; 
    $.each(data.nodes, function(i, val) { 
     $('#foo').append(val); 
    }); 
});​ 
関連する問題