如何通过Javascript解析多维JSON数据

How to parse multi dimensional JSON data through Javascript

本文关键字:JSON 数据 何通过 Javascript      更新时间:2023-09-26

我如何解析这种类型的json数据,进入"结果"以获取邮政编码,状态等单个值

{
    "row": [
        {
        "id": "5",
        "name": "test",
        "email": "test@test.com",
        "street": "mystreet",
        "city": "mycity",
        "state": "mystate",
        "zipcode": "123456",
        "myimage": "image.gif"}
    ]
}​

首先,你需要用JSON.parse解析该字符串

var myJson = JSON.parse(the_raw_data_string);

它最终会变成一个这样的对象:

var myJson = {
    "row": [
        {
        "id": "5",
        "name": "test",
        "email": "test@test.com",
        "street": "mystreet",
        "city": "mycity",
        "state": "mystate",
        "zipcode": "123456",
        "myimage": "image.gif"}
    ]
}​

访问项目:

myJson.row[0].id
myJson.row[0].name
myJson.row[0].street
//and so on...

您可以将 JSON 结果转换为 var,如下所示

var json = {
    "row": [
        {
        "id": "5",
        "name": "test",
        "email": "test@test.com",
        "street": "mystreet",
        "city": "mycity",
        "state": "mystate",
        "zipcode": "123456",
        "myimage": "image.gif"}
    ]
}​

然后将结果发送给另一个

var result = json.row;

然后,您可以循环访问结果

for (var i = 0; i < result.length; i++) {
    var object = result[i];
    for (property in object) {
        var value = object[property];
        alert(property + "=" + value); // This alerts "id=5",  etc..
    }
}

希望这对你有帮助

再次在这里jQuery是你的好朋友

我已经发布了一个使用 jsfiddle 的示例,您的数据行中有多个记录

$(document).ready(function () {
var result = {
    "row": [
        {
        "id": "5",
        "name": "test",
        "email": "test@test.com",
        "street": "mystreet",
        "city": "mycity",
        "state": "mystate",
        "zipcode": "123456",
        "myimage": "image.gif"
        },
        {
        "id": "10",
        "name": "test2",
        "email": "test2@test.com",
        "street": "mystreet2",
        "city": "mycity2",
        "state": "mystate2",
        "zipcode": "7891011",
        "myimage": "image.gif"
        }
    ]
};
var oE = $("#output");
$.each(result.row, function(index, value) {
  //- extract target value like zipCode
  oE.append($("<li></li>").text(value.zipcode));
            });
});
​

希望这有帮助。

如果 json 数据是原始的,则使用 json.parse。之后循环多维 json 数据。

data = {"employees":[
    { "firstName":"Anushka", "lastName":"shetty" },
    { "firstName":"Shreya", "lastName":"Saran" },
    { "firstName":"Kajal", "lastName":"Agarwal" }
]};
for (var key in data.employees) {   
    alert(data.employees[key].firstName) //alert Anushka, Shreya, Kajal
}

您可以使用 JQuery 每个函数:

$.each(myData.row, function(index,item) {
  // here you can extract the data
  alert (item.zipcode);
});

使用 JSON.parse(jsonstring) .然后遍历对象/数组。