如何引用此JSON中的特定字段?

时间:2013-12-31 15:10:00

标签: javascript jquery json reference

试图引用这个JSON中的一个字段,但它与我一直在看的例子中的任何内容不同,所以我有点难过。

我想知道如何在最后引用该字段“我如何参考?”。感谢您的帮助。

var JSON = 
{ "employees": {
    "name" : "david",
    "car" : "audi"
     },
     {
     "name" : "jimmy",
     "car" : "VW"
     },

   "customers" : {
     "name" : "philip",
     "purchase": "cabbage"
     },
     {
     "name" : "Helen",
     "purchase": "HOW DO I REFERENCE THIS?"
     }
}


var x = "HOW DO I REFERENCE THIS?";

3 个答案:

答案 0 :(得分:5)

使用正确的语法,我相信你想要这个:

var JSON = {
    "employees": [
    {
        "name": "david",
        "car": "audi"
    },
    {
        "name": "jimmy",
        "car": "VW"
    }],

    "customers": [
    {
        "name": "philip",
        "purchase": "cabbage"
    },
    {
        "name": "Helen",
        "purchase": "HOW DO I REFERENCE THIS?"
    }]
}

您可以使用以下内容获取purchase

for (var i in JSON.customers)
{
    var customer = JSON.customers[i];

    var value = customer.purchase; // cabbage, HOW DO I...
}

答案 1 :(得分:1)

试试这个:

var JSON = {
    "employees": [{
        "name": "david",
            "car": "audi"
    }, {
        "name": "jimmy",
            "car": "VW"
    }],
        "customers": [{
        "name": "philip",
            "purchase": "cabbage"
    }, {
        "name": "Helen",
            "purchase": "HOW DO I REFERENCE THIS?"
    }]
}

$.each(JSON.customers, function (k, data) {
    alert(data.purchase);
});

Working Fiddle

答案 2 :(得分:1)

您是否需要为“Helen”或第二个客户找到购买字符串,如果它是第二个客户(使用有效的JSON):

var string = '{"employees": [{"name": "david", "car": "audi"}, {"name": "jimmy", "car": "VW"}], "customers": [{"name": "philip", "purchase": "cabbage"}, {"name": "Helen", "purchase": "HOW DO I REFERENCE THIS?"}]}';
var string = JSON.parse(string);
console.log(string['customers'][1]['purchase']);

如果你需要找到“Helen”,它会是这样的(有效的JSON):

var string = '{"employees": [{"name": "david", "car": "audi"}, {"name": "jimmy", "car": "VW"}], "customers": [{"name": "philip", "purchase": "cabbage"}, {"name": "Helen", "purchase": "HOW DO I REFERENCE THIS?"}]}';
var string = JSON.parse(string);
for (var i=0 ; i < string['customers'].length ; i++) {
    if (string['customers'][i]["name"] == "Helen") {
        var result = string['customers'][i]['purchase'];
    }
}
console.log(result);