我有一个简单的json,我想用jquery解析它。这是我的代码 我正在使用parseJSON但它在jquery
中不起作用var json = '['+{"lead_req_id":"","listing_id_1_ref":"RH-R-17","listing_id_1":"17"}+']';
当我提醒json它给我[对象] [对象]
var getReq = jQuery.parseJSON(json);//i tried json[0] also but no luck
$.each(getReq, function(id, key) {
alert(key+'='+id);
});
我想逐个遍历它。
这里我什么都得不到?
答案 0 :(得分:3)
您在此处显示的不是JSON字符串。以下是有效JSON字符串的外观:
var json = '[{"lead_req_id":"","listing_id_1_ref":"RH-R-17","listing_id_1":"17"}]';
现在你可以解析它了:
var getReq = jQuery.parseJSON(json);
$.each(getReq, function(index, element) {
$.each(element, function(key, value) {
console.log(key + '=' + value);
});
});
如果另一方面你已经有一个javascript变量,那么你不需要解析任何东西,你可以直接访问它:
var getReq = [{"lead_req_id":"","listing_id_1_ref":"RH-R-17","listing_id_1":"17"}];
$.each(getReq, function(index, element) {
$.each(element, function(key, value) {
console.log(key + '=' + value);
});
});
另请注意,我使用了2 $.each
个语句,因为您显示的JSON字符串表示一些对象的数组。第一个循环遍历数组,而内循环遍历数组中每个对象的属性。
答案 1 :(得分:1)
是的,你的json
是错的。它评估为字符串"[[object Object]]"
,因为您要向JavaScript对象({} s中的部分)添加字符串“[”和“]”
尝试
var obj = [{"lead_req_id":"","listing_id_1_ref":"RH-R-17","listing_id_1":"17"}]
现在没有必要解析它。它已经是一个JavaScript对象了。
如果你想要它的JSON版本,可以在其上调用JSON.stringify
:
结果如下:
'[{"lead_req_id":"","listing_id_1_ref":"RH-R-17","listing_id_1":"17"}]'
答案 2 :(得分:0)
您的json格式无效。尝试将您的var json = ..
更改为:
var json = '[{"lead_req_id":"","listing_id_1_ref":"RH-R-17","listing_id_1":"17"}]';