0

我想弄清楚我是否 JSON.Stringify 像这样的对象:

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

然后尝试 JSON.Parse 仅 USER 和 PWD,不必只调用对象,而是通过 stringify。那将如何工作?

谢谢。

4

3 回答 3

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.

(注意:在您的问题中,您有两个拼写错误,一个逗号应该是 and 之间的冒号"PWD""zzz"一个点应该是11111and之间的逗号"_updatedAt"。不可能JSON.stringify()产生您显示的字符串有这些错误。)

于 2013-05-18T22:33:45.520 回答
0

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

如果你想迭代它们,只需使用普通forin枚举

于 2013-05-18T22:34:20.510 回答
0

我可能误解了这个问题,但如果我认为它就是这样,请尝试使用

var tmp = JSON.parse(string_to_convert) 

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

然后你可以做

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

这应该列出第一组属性的所有键。如果你想做一个嵌套的事情,那么对属性使用递归。希望这是有道理的...

于 2013-05-18T22:37:12.617 回答