私はjsonで応答を受け取るphpページがあります:
[{'com':'something'},{'com':'some other thing'}]
ループして、それぞれをdivに追加します。
これは私が試したものです:
var obj = jQuery.parseJSON(response);
$.each(obj.com, function(key,value) {
alert(key+':'+value);
}
これはundefined
としてアラートし、応答はjson配列です。
助けてください。
配列には、オブジェクト{'com':'some thing'}
を格納するデフォルトのキー(0,1)があります。
var obj = jQuery.parseJSON(response);
$.each(obj, function(key,value) {
alert(value.com);
});
これを試して:
var data = jQuery.parseJSON(response);
$.each(data, function(key, item)
{
console.log(item.com);
});
または
var data = $.parseJSON(response);
$(data).each(function(i,val)
{
$.each(val,function(key,val)
{
console.log(key + " : " + val);
});
});
配列のオブジェクトのundefined
値、つまりcom
プロパティを反復処理している場合は、配列自体を反復処理する必要があります。
_$.each(obj, function(key,value) {
// here `value` refers to the objects
});
_
また、jQueryは送信されたJSONをインテリジェントに解析しようとすることに注意してください。おそらく応答を解析する必要はありません。 $.ajax()
を使用している場合は、dataType
をjson
に設定して、jQueryがJSONを解析するように指示できます。
それでも機能しない場合は、ブラウザのコンソールでトラブルシューティングを確認してください。
var data=[{'com':'something'},{'com':'some other thing'}];
$.each(data, function() {
$.each(this, function(key, val){
alert(val);//here data
alert (key); //here key
});
});
var data = [
{"Id": 10004, "PageName": "club"},
{"Id": 10040, "PageName": "qaz"},
{"Id": 10059, "PageName": "jjjjjjj"}
];
$.each(data, function(i, item) {
alert(data[i].PageName);
});
$.each(data, function(i, item) {
alert(item.PageName);
});
または、この方法を試すことができます
var data = jQuery.parseJSON(response);
$.each(data, function(key,value) {
alert(value.Id); //It will shows the Id values
});
これを試して:
for(var i = 0; i < data.length; i++){
console.log(data[i].com)
}
次のようにキーと値のペアを取得できます
<pre>
function test(){
var data=[{'com':'something'},{'com':'some other thing'}];
$.each(data, function(key,value) {
alert(key);
alert(value.com);
});
}
</pre>
これを試して
var events = [];
alert(doc);
var obj = jQuery.parseJSON(doc);
$.each(obj, function (key, value) {
alert(value.title);
});