循环并使用jQuery获取JSON数组的键/值对

我正在寻找通过JSON数组循环,并显示键和值。

它应该是以下post的简化版本,但我似乎没有正确的语法: jQuery'每个'循环与JSON数组

我也看到了使用jQuery在JSON键/值对中获取键的名称? ,但是对于一个简单的活动来说,它似乎也有很多代码。

这说明了我在找什么(但它不起作用):

var result = '{"FirstName":"John","LastName":"Doe","Email":"johndoe@johndoe.com","Phone":"123 dead drive"}'; $.each(result, function(k, v) { //display the key and value pair alert(k + ' is ' + v); }); 

没有强制的jQuery要求,但它是可用的。 如果减less了所需的代码,我也可以重构JSON。

您有一个表示JSON序列化JavaScript对象的string。 在能够遍历其属性之前,您需要将其反序列化回JavaScript对象。 否则,你将循环这个string的每个单独的字符。

 var resultJSON = '{"FirstName":"John","LastName":"Doe","Email":"johndoe@johndoe.com","Phone":"123 dead drive"}'; var result = $.parseJSON(resultJSON); $.each(result, function(k, v) { //display the key and value pair alert(k + ' is ' + v); }); 

现场演示 。

 var obj = $.parseJSON(result); for (var prop in obj) { alert(prop + " is " + obj[prop]); } 

你可以直接得到这样的值:

 var resultJSON = '{"FirstName":"John","LastName":"Doe","Email":"johndoe@johndoe.com","Phone":"123 dead drive"}'; var result = $.parseJSON(resultJSON); result['FirstName']; // return 'John' result['LastName']; // return ''Doe' result['Email']; // return 'johndoe@johndoe.com' result['Phone']; // return '123' 

以下应该适用于JSON返回的string。 它也可以用于数据的关联数组。

 for (var key in data) alert(key + ' is ' + data[key]); 

parsingJSONstring,你可以通过键循环。

 var resultJSON = '{"FirstName":"John","LastName":"Doe","Email":"johndoe@johndoe.com","Phone":"123 dead drive"}'; var data = JSON.parse(resultJSON); for (var key in data) { //console.log(key + ' : ' + data[key]); alert(key + ' --> ' + data[key]); } 

这个问题的最佳和完美的解决scheme:

我尝试了Ajax成功响应的jQuery,但它不起作用,所以我发明了自己的,最后它的工作原理!

点击这里查看完整的解决scheme

 var rs = '{"test" : "Got it perfect!","message" : "Got it!"}'; eval("var toObject = "+ rs + ";"); alert(toObject.message);