parsing JSON in nodejs


Question

Hi i have the below json

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

i used the code below to parse

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

The output that i received is

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

I need to get the individual strings from details say i should be able to parse and get the value of "name".I am stuck here any help will be much appreciated

1
5
1/8/2013 5:25:11 AM

Accepted Answer

If you already have an object, you don't need to parse it.

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"

You only use JSON.parse() when dealing with an actual json string. For example:

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

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

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

See json.org for more details

27
1/8/2013 5:26:50 AM

Since jsonobj has already been parsed as a JavaScript Object, jsonobj.details.name should be what you need.


Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon