JavaScript对象数据提取(JSON Stringify / Parse还是没有?)

时间:2013-05-18 22:23:51

标签: javascript json

我想知道我是否JSON.Stringify这样的对象:

{"m_id":"xxx","record":
{"USER":"yyy","PWD","zzz","_createdAt":
11111."_updatedAt":00000},"state":"valid"}

然后尝试JSON.Parse只有USER和PWD,不必只是调用对象,而是通过stringify。怎么会有用?

感谢。

3 个答案:

答案 0 :(得分:3)

我不确定你为什么要谈论字符串化你的对象。如果您需要通过网络或其他东西发送数据,而不是在需要在JS中操作数据时,您可以对其进行字符串化。

  

...如何在 {...USER: "aaa", PWD: "zzz"...}中提取字符串?

假设你有一个引用该对象的变量,如下所示(有或没有很好的换行符和缩进使它可读,并且在属性名称周围有或没有引号):

var obj = {
    "m_id": "xxx",
    "record": {
        "USER": "yyy",
        "PWD" : "zzz",
        "_createdAt": 11111,
        "_updatedAt": 00000
    },
    "state": "valid"
};

然后,您可以按如下方式访问嵌套record对象中的属性:

console.log( obj.record.USER );   // outputs "yyy"
console.log( obj.record.PWD );    // outputs "zzz"
// etc.

(注意:在您的问题中,您有两个拼写错误,一个逗号应该是"PWD""zzz"之间的冒号,而且一个点应该是逗号之间的逗号{ {1}}和11111"_updatedAt"无法生成出现这些错误的字符串。)

答案 1 :(得分:0)

如果您希望字符串"USER""PWD"等作为数组,请使用Object.keys

如果您想迭代它们,只需使用普通for-in enumeration

答案 2 :(得分:0)

我可能误解了这个问题,但如果我认为它是什么,那么尝试使用

var tmp = JSON.parse(string_to_convert) 

这应该足以将您的字符串转换为正确的Javascript对象

然后你可以做

for(var index in tmp){
console.log(tmp[index]);
}

这应该列出第一组属性上的所有键。如果要执行嵌套操作,请在属性上使用递归。希望这是有道理的......