2017-01-11 9 views
0
var key = " "; 
var myBio = { 
       "name":"Sathya", 
       "age":"23", 
      "position":"Soft.Engineer", 
      "email": 
        { 
         "email1":"[email protected]", 
         "email2":"[email protected]"}, 
        }; 

for (key in myBio){ 
    var y = myBio[key]; 
    console.log(key+" : "+ y); 
     } 

出力印刷しよう:ネストされたJSON

  • 名:サティア
  • 年齢:23
  • 位置:Soft.Engineer
  • 電子メール:[オブジェクトのオブジェクト]

必須置く:

  • 名:サティア
  • 年齢:23
  • 位置:Soft.Engineer
  • メール:

別のループを使用してこのメ​​ールを個別に印刷することができます。しかし、私はメインループだけで印刷したい。 JavaScriptを使用してこれを行う方法はありますか?

+0

あなたがオブジェクトを文字列にconcatentateしようとするからです。あなたはそれをする必要はありません。ソリューションは 'console.log(key、y)'を使用することです –

+0

あなたは単純なconsole.log(myBio)を試しましたか? – Ayyash

答えて

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

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); 
    } 
} 
+0

ありがとうございます:-)私は必要な出力を得ています –

0

これを試してみてください:

var myBio = { 
    "name" : "Sathya", 
    "age" : "23", 
    "position" : "Soft.Engineer", 
    "email" : { 
     "email1" : "[email protected]", 
     "email2" : "[email protected]" 
    }, 
}; 

function print(bio) { 
    for (var key in bio) { 
    if (typeof(bio[key]) == 'object') { 
     print(bio[key]); 
    } else { 
     console.log(key + ": " + bio[key]); 
    } 
    } 
} 

print(myBio); 
0

試してみてください:

var myBio = { 
 
    "name":"Sathya", 
 
    "age":"23", 
 
    "position":"Soft.Engineer", 
 
    "email": { 
 
     "email1":"[email protected]", 
 
     "email2":"[email protected]" 
 
    } 
 
}; 
 

 
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