jQuery - json解析

wa7juj8i  于 2023-05-28  发布在  jQuery
关注(0)|答案(2)|浏览(137)

如何使用foreach解析json类型-

getData: function(id, dataid)
    {
        $.post('Action/Load.php',{
            id: id
        }, function(data) {
            
            $(dataid).html(data);
        });
    }

数据= {"file":"1","text":"Hello world","name":"Jenan","id":"1","url":"url"}
我会收到短信-

mccptt67

mccptt671#

for...in将循环遍历每个对象键:

var output = [];
for( var key in data) {
  if (data.hasOwnProperty(key)) {
      output.push(data[key])
  }
}

alert(output.join(' - '));

编辑

data.url; // the value of url, which happens to be url in this example
// or
data['url']

hasOwnProperty确保键是对象的直接属性。

5f0d552i

5f0d552i2#

$.each()函数只适用于Arrays和jQuery对象。
这里,data不是一个数组,它是一个常规对象。
所以,从你的Json中获取数据的方式是:

getData: function(id, dataid)
    {
        $.post('Action/Load.php',{
            id: id
        }, function(data) {
            $(dataid).html(data.file +' - '+ data.text +' - '+ data.name +' - '+ data.id +' - '+ data.url);
        });
    }

***编辑:***如果你有一些这样的对象在一个数组中,就像下面这样:

[{"file":"1","text":"Hello world","name":"Jenan","id":"1","url":"url"},{"file":"1","text":"Hello world","name":"Jenan","id":"1","url":"url"},{"file":"1","text":"Hello world","name":"Jenan","id":"1","url":"url"}]

像这样做:

getData: function(id, dataid)
    {
        $.post('Action/Load.php',{
            id: id
        }, function(data) {
            $(dataid).html('');
            $.each(data, function(key, value){
                $(dataid).append(value.file +' - '+ value.text +' - '+ value.name +' - '+ value.id +' - '+ value.url +'<br/>');
            });
        });
    }

相关问题