我有以下JSON
var response ={
"orderprintsummmary": [
{
"total": "512.70",
"vendorname": "Inorbit Mall-Food Court01",
"contact_email": "kiran@gmail.com",
"crusting_name": "Cruts"
}
]
}
我正在尝试以这种方式检索JSON中存在的所有项目
var jsonresponse = JSON.parse(response.orderprintsummmary[0]);
var total = jsonresponse[0].total;
var vendorname = jsonresponse[0].vendorname;
var contact_email = jsonresponse[0].contact_email;
未捕获的SyntaxError:意外的令牌o
但是,如果我单独检索它,这可以正常工作,如下所示
var total = JSON.parse(response.orderprintsummmary[0].total);
但是我不想每次为每个值解析它(因为我在实际的resposnse中得到了近50个键值对)
答案 0 :(得分:0)
您可以这样尝试:遍历每个索引的数据并获取相关属性。
var response ={
"orderprintsummmary": [
{
"total": "512.70",
"vendorname": "Inorbit Mall-Food Court01",
"contact_email": "kiran@gmail.com",
"crusting_name": "Cruts"
},
{
"total": "512.70",
"vendorname": "Inorbit Mall-Food Court01",
"contact_email": "kiran@gmail.com",
"crusting_name": "Cruts"
}
]
}
for(x in response['orderprintsummmary']){
console.log(response['orderprintsummmary'][x].total);
}
答案 1 :(得分:0)
只有response
是字符串才能解析。因为它是你不需要解析的,因为response
已经是一个对象了。
//Parse only if `response` is a string
//var jsonresponse = JSON.parse( response ).orderprintsummmary[0];
//If `response` is json then:
var jsonresponse = response.orderprintsummmary[0];
var total = jsonresponse.total;
var vendorname = jsonrespons.vendorname;
var contact_email = jsonresponse.contact_email;
var response ={
"orderprintsummmary": [
{
"total": "512.70",
"vendorname": "Inorbit Mall-Food Court01",
"contact_email": "kiran@gmail.com",
"crusting_name": "Cruts"
}
]
}
var jsonresponse = response.orderprintsummmary[0];
var total = jsonresponse.total;
var vendorname = jsonresponse.vendorname;
var contact_email = jsonresponse.contact_email;
console.log(vendorname);