var key = " ";
var myBio = {
"name":"Sathya",
"age":"23",
"position":"Soft.Engineer",
"email":
{
"email1":"sathya@gmail.com",
"email2":"sathya@knstek.com"},
};
for (key in myBio){
var y = myBio[key];
console.log(key+" : "+ y);
}
输出
必填项:
我可以使用另一个循环单独打印此电子邮件。但我想只用主循环打印。有没有办法用JavaScript做到这一点?
答案 0 :(得分:0)
function recursion(myBio) {
for (var key in myBio) {
if (typeof(myBio[key]) == 'object') {
recursion(myBio[key]);
} else {
alert("Key: " + key + " Values: " + myBio[key]);
}
}
}
如果你有嵌套的json
,请使用这个子程序答案 1 :(得分:0)
您可以使用recursive函数来完成此操作。示例
function logRecursive(object){
for (key in object){
var value=object[key];
if(typeof value === 'object'){
console.log('{');
logRecursive(value)
console.log('}');
}else{
console.log(value);
}
}
答案 2 :(得分:0)
试试这个:
var myBio = {
"name" : "Sathya",
"age" : "23",
"position" : "Soft.Engineer",
"email" : {
"email1" : "sathya@gmail.com",
"email2" : "sathya@knstek.com"
},
};
function print(bio) {
for (var key in bio) {
if (typeof(bio[key]) == 'object') {
print(bio[key]);
} else {
console.log(key + ": " + bio[key]);
}
}
}
print(myBio);
答案 3 :(得分:0)
试试这个:
var myBio = {
"name":"Sathya",
"age":"23",
"position":"Soft.Engineer",
"email": {
"email1":"sathya@gmail.com",
"email2":"sathya@knstek.com"
}
};
var result = parseJSON(myBio);
console.log(result);
function parseJSON(obj) {
var parsedData = '';
for(var i in obj) {
if (typeof obj[i] == 'object') {
parsedData += parseJSON(obj[i]);
}else {
parsedData += i +' : '+ obj[i];
}//end if
parsedData += '\n';
}//end for
return parsedData;
}//end function
答案 4 :(得分:0)
大多数在 Google 中搜索并找到此问题的人可能正在寻找这样的内容:
console.log(JSON.stringify(object, null, 2));
这会将深度嵌套的 JSON 打印到控制台,而不会出现烦人的“[Object]”。
最后两个参数是可选的。 2 表示以 2 的缩进漂亮地打印 JSON。如果留空,将输出非格式化的 JSON。
这不能回答这个具体问题,但希望能回答那些搜索“打印嵌套 JSON Javascript”的人。