我正在尝试获取单个json值并以下面的格式输出值。 它目前没有返回任何单个值。
如何正确输出所有单个值?
我的例子在这里Jquery with JSON fiddle 例如
console.log(" nestedValue name" + nestedKey + "--------" + nestedValue.name);
console.log(" nestedValue shortURL" + nestedKey + "---------" + nestedValue.shortURL);
console.log(" nestedValue parenthicalCategory1" + nestedKey + "---------" + nestedValue.parenthicalCategory1);
console.log(" nestedValue parenthicalCategory2" + nestedKey + "---------" + nestedValue.parenthicalCategory2);
console.log(" nestedValue keyword" + nestedKey + "---------" + nestedValue.keyword);
console.log(" nestedValue shortDesc" + nestedKey + "---------" + nestedValue.shortDesc);
console.log(" nestedValue isRenew" + nestedKey + "---------" + nestedValue.isRenew);
console.log(" nestedValue isApply" + nestedKey + "---------" + nestedValue.isApply);
的JavaScript
var jsonVals='';
jQuery.each(jsonObject, function(key, value) {
if(key == "filters")
{
jQuery.each(value, function(nestedKey, nestedValue)
{
var objectKey = Object.keys(nestedValue)[0];
var objectVal = eval("nestedValue['"+objectKey+"']");
//console.log(eval("nestedValue['"+objectKey+"']"));
$("#filters").append(objectKey + '------------' + objectVal + '<br/>' );
});
}
if(key == "data")
{
jQuery.each(value, function(nestedKey, nestedValue)
{
jQuery.each(nestedValue.azIndexDescPages, function(nestedKey, nestedValue)
{
jQuery.each(nestedValue, function(nestedKey, nestedValue)
{
console.log(nestedValue);
///$("#data").append(nestedKey + '------------' + nestedValue + '<br/>' );
/////////////////////////////////////////
jsonVals +='<div class="id" >nestedValue guid ' + nestedKey + '--------' + nestedValue.guid+'</div>';
jsonVals +='<div class="name">nestedValue name' + nestedKey + '--------' + nestedValue.name +'</div>';
jsonVals +='<div class="url"> nestedValue shortURL' + nestedKey + '--------' + nestedValue.shortURL+'</div>';
jsonVals +='<div class="keyword"> nestedValue keyword' + nestedKey + '--------' + nestedValue.keyword+'</div>';
jsonVals += '<div class="desc">nestedValue shortDesc' + nestedKey + '--------' + nestedValue.shortDesc+'</div>';
jsonVals +='<div class="renew"> nestedValue isRenew' + nestedKey + '--------' + nestedValue.isRenew+'</div>';
//////////////////////////////////////////
});
});
// $("#data").append('<br /><br />');
$("#data").append(jsonVals);
});
}
});
答案 0 :(得分:0)
如果问题是你无法在json中获取所有遍历的对象,那么这种类型的函数应该可以工作,并引导你正确的方向。
function loop(obj) {
$.each(obj, function(key, val) {
if(val && typeof val === "object") { // object, call recursively
loop(val);
} else {
KEY: VAL
}
});
}
答案 1 :(得分:0)
jQuery.each的第三次迭代现在已经下降到azIndexDescPages对象的属性级别。所以备份一次迭代:http://jsfiddle.net/zttgp2L5/14/
if(key == "data")
{
jQuery.each(value, function(nestedKey, nestedValue)
{
jQuery.each(nestedValue.azIndexDescPages, function(nestedKey, nestedValue)
{
console.log(nestedValue);
jsonVals +='<div class="id" >nestedValue guid ' + nestedKey + '--------' + nestedValue.guid+'</div>';
jsonVals +='<div class="name">nestedValue name' + nestedKey + '--------' + nestedValue.name +'</div>';
jsonVals +='<div class="url"> nestedValue shortURL' + nestedKey + '--------' + nestedValue.shortURL+'</div>';
jsonVals +='<div class="keyword"> nestedValue keyword' + nestedKey + '--------' + nestedValue.keyword+'</div>';
jsonVals += '<div class="desc">nestedValue shortDesc' + nestedKey + '--------' + nestedValue.shortDesc+'</div>';
jsonVals +='<div class="renew"> nestedValue isRenew' + nestedKey + '--------' + nestedValue.isRenew+'</div>';
});
});
$("#data").append(jsonVals);
}
答案 2 :(得分:0)
只需用以下代码替换您的代码:
//CODE
var jsonVals='';
jQuery.each(jsonObject, function(key, value) {
if(key == "filters")
{
jQuery.each(value, function(nestedKey, nestedValue)
{
var objectKey = Object.keys(nestedValue)[0];
var objectVal = eval("nestedValue['"+objectKey+"']");
//console.log(eval("nestedValue['"+objectKey+"']"));
$("#filters").append(objectKey + '------------' + objectVal + '<br/>' );
});
}
if(key == "data")
{
jQuery.each(value, function(nestedKey, nestedValue)
{
jQuery.each(nestedValue.azIndexDescPages, function(nestedKey, nestedValue)
{
jQuery.each(nestedValue, function(nestedKey, nestedValue)
{
$("#data").append('<div class="id" >nestedValue ' + nestedKey + '--------' + nestedValue+'</div><br>');
});
});
});
}
});
//CODE