我正在尝试拉取一些JSON输出的标题中的字段名称。以下是JSON报头信息的示例:
{"HEADER":{"company":{"label":"Company Name"},"streetaddress":{"label":"Street Address"},"ceo":{"label":"CEO Name","fields":{"firstname":{"label":"First Name"},"lastname":{"label":"Last Name"}}}我可以使用以下代码遍历标题并输出字段和标签(即公司和公司名称):
obj = JSON.parse(jsonResponse);
for (var key in obj.HEADER) {
response.write ( obj.HEADER[key].label );
response.write ( key );
}但是不知道如何遍历和输出字段的子数组(即名字和名字)。
有什么想法吗?
发布于 2010-04-08 23:49:46
尝尝这个?
obj = JSON.parse(jsonResponse);
for (var key in obj.HEADER) {
response.write ( obj.HEADER[key].label );
response.write ( key );
if (obj.HEADER[key].fields) {
for (var fieldKey in obj.HEADER[key].fields) {
response.write(obj.HEADER[key].fields[fieldKey].label);
response.write(fieldKey);
}
}
}或者,如果字段本身可以有更多的字段,请尝试递归:
function parseResults(obj) {
for (var key in obj) {
response.write ( obj[key].label );
response.write ( key );
if (obj[key].fields) {
parseResults(obj[key].fields);
}
}
}
obj = JSON.parse(jsonResponse);
parseResults(obj.HEADER);https://stackoverflow.com/questions/2601301
复制相似问题