我的问题可能是许多问题的重复,但我已经尝试了所有选项,但无法解析我通过Ajax请求收到的json
喜
所以即时通过Ajax调用得到这个json响应
{
"audi": [
"100",
"200",
"80",
"90",
"a3",
"a4",
"a6",
"a8"
]
}
这是我收到的json以下是我尝试的选项之一
var obj = JSON.parse(html);
alert("json decoded");
for(var yahoo in obj)
{
alert(obj[yahoo]); // this line gives me 100,200,80,90,...
}
非常感谢任何帮助...
编辑:
这是我的ajax电话
$.ajax({
url: "makemodel.php",
type: "POST",
data: {data:data},
cache: false,
async:false,
dataType:'json',
success: function (html) {
alert("success");
var obj = JSON.parse(html);
alert("json decoded");
for(var yahoo in obj)
{
alert(obj[yahoo]);
}
}//ajax success ends
});//ajax ends
答案 0 :(得分:3)
如果将jQuery的ajax调用的dataType
选项设置为"json"
,jQuery将自动解析JSON代码。成功回调的第一个参数就是解析后的对象。
success: function (data) {
var s = 0;
for (var i = 0;i < data['audi'].length;i++) {
s += parseInt(data['audi'][i]);
}
alert("Sum of all audi prices: " + s);
}
答案 1 :(得分:1)
您还可以使用getJSON获取您的json数据,以下是示例。
var price = 0;
$.getJSON("make_model.php", {data: data}, function(response){
$.each(response, function(key, value){
price += value['price'];
});
});
alert(price);
答案 2 :(得分:0)
也许,这段代码也可以帮到你:
var obj = jQuery.ajax({
url: url,
async: false,
dataType: 'json'
}).responseText;
for(var yahoo in obj){
alert(obj[yahoo]);
}