5

嗨,我有以下 json

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

我使用下面的代码来解析

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

我收到的输出是

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

我需要从详细信息中获取单个字符串说我应该能够解析并获得“名称”的值。我被困在这里任何帮助将不胜感激

4

2 回答 2

27

如果您已经有一个对象,则不需要解析它。

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"

您仅JSON.parse()在处理实际 json 时使用string。例如:

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

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

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

有关更多详细信息,请参见json.org

于 2013-01-08T05:26:50.203 回答
1

由于jsonobj已经被解析为 JavaScript Objectjsonobj.details.name应该是你需要的。

于 2013-01-08T05:29:30.203 回答