循环遍历嵌套的json对象并显示kay/value对
loop through nested json objects and display kay/value pair
我有一个json对象,我想打印它的key/value
对组合。但我的对象是嵌套对象。所以我想循环遍历每个对象并显示它的键/值对。
Fiddle:http://jsfiddle.net/ydzsaot5/
代码:
var html='';
var contextObj = {"CategoryID":"1","BillerID":"23","BillerName":"MERCS","RequestType":"QuickPay","AccountNo":"1234567890","Authenticator":"{'"EmailAddress'":'"dfgsdfgsdfg'",'"MobileNumber'":'"65-4576573'",'"ID'":'"4572-4756876-8'"}","Token":"3C639AE65"};
html = getKeyValueJson(contextObj, html);
$('div').html(html);
function getKeyValueJson(obj, html) {
$.each(obj, function (key, value) {
if (value == null) {
return
}
if (typeof value == 'object') {
getKeyValueJson(value, html);
}
else {
html += '<label>' + key + '</label> :- <label>' + value + '</label><br>';
}
});
return html;
}
我想以这种方式打印:
....
AccountNo :- 1234567890
EmailAddress :- dfgsdfgsdfg
MobileNumber :- 65-4576573
....
Token :- 3C639AE65
问题出现在json和代码中,您只是将其作为字符串
"{'"EmailAddress'":'"dfgsdfgsdfg'",'"MobileNumber'":'"65-4576573'",'"ID'":'"4572-4756876-8'"}"
将其更改为
{"EmailAddress":"dfgsdfgsdfg","MobileNumber":"65-4576573","ID":"4572-4756876-8"}
var html = '';
var contextObj = {
"CategoryID": "1",
"BillerID": "23",
"BillerName": "MERCS",
"RequestType": "QuickPay",
"AccountNo": "1234567890",
"Authenticator": "{'"EmailAddress'":'"dfgsdfgsdfg'",'"MobileNumber'":'"65-4576573'",'"ID'":'"4572-4756876-8'"}",
"Token": "3C639AE65"
};
html = getKeyValueJson(contextObj, html);
$('div').html(html);
function getKeyValueJson(obj, html) {
$.each(obj, function(key, value) {
value = parseIt(value) || value;
if (value == null) {
return
}
console.log(typeof value);
if (typeof value == 'object') {
html += getKeyValueJson(value, html);
} else {
html += '<label>' + key + '</label> :- <label>' + value + '</label><br>';
}
});
return html;
}
function parseIt(str) {
try { return JSON.parse(str); } catch(e) { return false; }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div>
</div>
相关文章:
- 从桌面读取python文件时高亮显示代码
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何在生成下载文件时显示加载动画
- React重新渲染但未显示正确的组件
- nodejs-expressjs上传图像并显示它们
- 使用JSP从服务器检索和显示图像
- 音频控件在mouseover上显示,在mouseout上淡出
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- 使用电话间隙在Android应用程序中显示SQL Lite的数据
- 显示5秒后隐藏潜水
- 画廊图像未显示
- 不显示带有本地json文件数据的谷歌地图脚本
- 如何将json数据显示为html
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 高亮显示时编辑文本大小和颜色
- 有时数据是't显示在浏览器中
- 当鼠标悬停在文本中的单词上时显示警报
- 角度图表;t显示在我的页面中
- 循环遍历嵌套的json对象并显示kay/value对