在嵌套的json javascript中显示所有键值对数组
我有一个来自URL的JSON数据,并且使用jQuery ajax方法消耗它。
现在,正如下面的JSON代码所示,我有一个DATA数组包含我的JSON中的对象,现在如果我使用resp.DATA[0].FirstName
访问FirstName
,我能够得到它,但现在我必须显示所有键值DATA数组中的对, 我不知道密钥名称,即我必须显示每个键和值。
数据上有两个客户。
我怎么能用JavaScript或jQuery做到这一点?
JSON数据:
{ "ERROR": [], "DATA": [{ "CustomerID": "124", "BranchID": "12", "FirstName": "sandeep", "LastName": "b", "EmailID": "gggg@gmail.com", "Sex": "Male", "Landline": "", "AlternateNumber": "", "Password": "5735c2801", "USERVARCHAR_2": "" }], "META": { "totalPages": "1", } }
我必须以KEY:VALUE
的forms显示每个客户数据的密钥和值,所以请建议我如何循环这个。
使用Object.keys(object_name)
获取Object的所有键。
Object.keys()
方法返回给定对象自己的可枚举属性的数组,其顺序与for … in循环提供的顺序相同(不同之处在于for-in循环枚举原型链中的属性为好)。
for(var cust of resp.DATA){ // To iterate a array for(var key in cust){ // To iterate a object ennumerable properties console.log("Key is: "+key+" and Value is: "+cust[key]); } }
使用for循环迭代javascript数组文字
for (var key in resp.DATA) { // skip loop if the property is from prototype if (!resp.DATA.hasOwnProperty(key)) continue; var objct = resp.DATA[key]; for (var prop in objct) { // skip loop if the property is from prototype if(!objct.hasOwnProperty(prop)) continue; // your code alert("The key is "+prop + "and the value is " + objct[prop]); } }
参考文献:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty
做这个:
$(resp.DATA[0]).each(function(key, value){ // your code });
使用.each()
循环到您的数组
$.each(your_array, function(key, value) { alert('Array Key is: '+ key + ' \n Array Key value is: ' + value); });
.each()迭代jQuery对象,为每个匹配的元素执行一个函数。