2013-01-08 7 views
4

Salut j'ai le dessous JSONanalyse syntaxique JSON dans nodejs

{id:"12",data:"123556",details:{"name":"alan","age":"12"}} 

i utilisé le code ci-dessous pour analyser

var chunk={id:"12",data:"123556",details:{"name":"alan","age":"12"}} 
var jsonobj = JSON.parse(chunk); 
console.log(jsonobj.details); 

La sortie que je reçu est

{"name":"alan","age":"12"} 

Je dois obtenir les chaînes individuelles des détails disent que je devrais être en mesure d'analyser et d'obtenir la valeur de "nom" .Je suis coincé ici toute aide sera très appréciée

+0

Essayez le morceau ["details"] ["name"] –

+0

Vous devez le citer si vous voulez le rendre json. Sinon son objet JS littéral –

Répondre

26

Si vous avez déjà un objet, vous n'avez pas besoin de l'analyser.

var chunk={id:"12",data:"123556",details:{"name":"alan","age":"12"}}; 
// chunk is already an object! 

console.log(chunk.details); 
// => {"name":"alan","age":"12"} 

console.log(chunk.details.name); 
//=> "alan" 

Vous utilisez uniquement JSON.parse() lorsqu'ils traitent avec une réelle JSON string. Par exemple:

var str = '{"foo": "bar"}'; 
console.log(str.foo); 
//=> undefined 

// parse str into an object 
var obj = JSON.parse(str); 

console.log(obj.foo); 
//=> "bar" 

Voir json.org pour plus de détails

+0

Yup ça a fonctionné beaucoup merci :) –

1

Depuis jsonobj a déjà été analysé comme JavaScript Object, jsonobj.details.name devrait être ce dont vous avez besoin.

+0

'jsonobj' a été ré-analysé. La partie d'analyse complète peut être ignorée car 'chunk' est déjà un objet. –

+0

Yup cela a fonctionné beaucoup merci :) –

+0

OK, je pensais morceau était une chaîne, sinon analyser n'a aucun sens. –