如何将以下JSON类型转换为javascript数组?
[
{
"Product Name":"CPE 10281",
"Application":"Tyres",
"Weight":150,
"Cost to Produce":5000,
"Grade":"A",
"Cost to Sell":40000,
"Strength":100
},
{
"Product Name":"CPE 10282",
"Application":"computers",
"Weight":250,
"Cost to Produce":4000,
"Grade":"H",
"Cost to Sell":25000,
"Strength":90
},
{
"Product Name":"CPE 10283",
"Application":"paint",
"Weight":150,
"Cost to Produce":5000,
"Grade":"A",
"Cost to Sell":15000,
"Strength":90
}
]
与产品名称相关的任何给定条目的调用程序是什么?
感谢大家的意见和解决方案。我到现在所拥有的是
$.ajax({
url: "dataProductJSON.json",
dataType: 'json',
mimeType: "application/json",
success: function (data) {
$.each(data, function (key, val){
$.each(val, function (innerKey, innerValue){
item.push('<li id="' + innerKey + '">' + innerKey +" : " + innerValue + '</li>');
});
});
alert (item[2]);
$('<ul/>', {
'class': 'interest-list',
html: item.join('')
}).appendTo('body');
},
});
&#13;
我的查询是在从JSON文件中读取数据之后如何将其转换为javascript数组。
答案 0 :(得分:4)
现代浏览器支持JSON.parse()
,因为它在ECMA-262 5th Edition
中定义。
其用法如下:
var json = '{"response":true,"number":1}',
obj = JSON.parse(obj);
alert(obj.count);
对于没有的浏览器,您可以使用json2.js
实现它。
其他说明:
如果您已经在使用 jQuery ,则会有一个$.parseJSON
函数映射到JSON.parse
(如果可用)或者在旧浏览器中映射eval
。但是,这会执行额外的,不必要的检查,这些检查也由JSON.parse
执行。
总之,为了获得最佳性能,我建议您使用它:
var json = '{"response":true,"number":1}',
obj = JSON && JSON.parse(json) || $.parseJSON(json);
这将确保您立即使用本机JSON.parse
,而不是让jQuery在将字符串传递给本机解析函数之前对字符串执行完整性检查。
如何使用
在进行ajax调用时,您只需解析success
上的数据,如下所示:
success: function (data) {
data = JSON && JSON.parse(data) || $.parseJSON(data);
}
答案 1 :(得分:1)
上面的JSON是一个JavaScript数组。如果JSON是字符串形式,那么您需要使用JSON.parse(string);
答案 2 :(得分:1)
在javascript中,这已经是一个对象,如果它是一个字符串,你可以使用
将它作为一个对象 var obj = JSON.parse(string)
然后你可以像这样使用它:
obj[0]["Product Name"]
&lt; - 将获得&#34;产品名称&#34;的价值第一张唱片。
答案 3 :(得分:0)
如果数组是一个字符串,您可以使用:
var obj = JSON.parse(string);
示例:
var text = '[
{
"Product Name":"CPE 10281",
"Application":"Tyres",
"Weight":150,
"Cost to Produce":5000,
"Grade":"A",
"Cost to Sell":40000,
"Strength":100
},
{
"Product Name":"CPE 10282",
"Application":"computers",
"Weight":250,
"Cost to Produce":4000,
"Grade":"H",
"Cost to Sell":25000,
"Strength":90
},
{
"Product Name":"CPE 10283",
"Application":"paint",
"Weight":150,
"Cost to Produce":5000,
"Grade":"A",
"Cost to Sell":15000,
"Strength":90
}
]'
var array= JSON.parse(text);