如何使用jquery读取json格式

时间:2016-07-20 06:19:38

标签: jquery

我有像这样的json格式

{
    "data1": {
        "name": "acong",
        "status": {
            "kawin": "Ya",
            "Keterangn": "Udah Kawin"
        },
        "data2": [{
            "id": "1",
            "nama": "Bali"
        }, {
            "id": "2",
            "nama": "Jakarta"
        }]
    }
}

如何使用jquery在html中输出?

3 个答案:

答案 0 :(得分:0)

如果你有一个valid JSON字符串,你可以用这样的javascript解析它:

var jsonString = '[{..},{...},...]';
var obj = JSON.parse(jsonString);

然后,迭代生成的对象,如下所示:

for (var item in obj) {
   var objItem = obj[item];
   // Do your stuff here ...
}

示例

此代码段从data2对象创建一个选项列表:

var obj = {
      "data1": {
        "name": "acong",
        "status": {
              "kawin": "Ya",
              "Keterangn": "Udah Kawin"
            },
        "data2": [
          {
          "id": "1",
          "nama": "Bali"
          }, 
          {
          "id": "2",
          "nama": "Jakarta"
          }
        ]
    }
};


// Get the object that contains the options
var data2 = obj['data1']['data2'];

// Iterate over this object
for (var item in data2) {

  var opt = data2[item];

  // Append an new option element for every object node
  $('#sel').append($('<option value="' + opt.id + '">' + opt.nama + '</option>'));

}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.1/jquery.min.js"></script>
<select id="sel"></select>

答案 1 :(得分:0)

如果从服务器发送的json对象,就像这样做

var data = {
        "data1": {
            "name": "acong",
            "status": {
                "kawin": "Ya",
                "Keterangn": "Udah Kawin"
            },
            "data2": [{
                "id": "1",
                "nama": "Bali"
            }, {
                "id": "2",
                "nama": "Jakarta"
            }]
        }
    };
console.log(data)   ;
console.log(data.data1) 
data.data1.data2.forEach(function(d,index){
console.log(d.id);
}); 

在像这样的HTML输出中

$("#someelement").html("<strong>"+data.data1.name+"</strong>");

答案 2 :(得分:0)

使用$.each()循环对象 - 创建html并将其附加到任何div或元素

var data = {
"data1": {
    "name": "acong",
    "status": {
        "kawin": "Ya",
        "Keterangn": "Udah Kawin"
    },
    "data2": [{
        "id": "1",
        "nama": "Bali"
    }, {
        "id": "2",
        "nama": "Jakarta"
    }]
}
} ;

var html = "<select>";
$.each(data,function(i,x) {
    $.each(x.data2,function(i_inner,x_inner) {
        html += "<option value='"+x_inner.id+"'>"+x_inner.nama+"</option>";
    });
});
$("#container").html(html)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div id="container"></div>