gpt4 book ai didi

javascript - 不能在 JSON 上使用点符号

转载 作者:行者123 更新时间:2023-11-29 15:31:20 25 4
gpt4 key购买 nike

我有这样的功能

data = JSON.parse(data)

其中data在前,像这样的字符串

"{\"content\":\"Hello there\",\"uid\":\"OoIEfsgabT89EJw\",\"createdAt\":1451586225268,\"user\":{\"avatar\":\"https://avatars.com/123?v=3\",\"login\":\"login\",\"name\":\"Username\",\"uid\":123}}"�

现在转换的数据是

{"content":"Hello there","uid":"OoIEfsgabT89EJw","createdAt":1451586225268,"user":{"avatar":"https://avatars.com/126?v=3","login":"login","name":"Username","uid":123}}

当我尝试访问 data.uid 时,我看到了 undefined。我究竟做错了什么?

编辑:代码

addItem: function(data) {
data = JSON.parse(data)

console.log("Adding: "+data)
console.log("Adding: "+data.uid)
},

edit2:JSON 被双重编码。
data = JSON.parse(data) 两次解决了,但这是完全错误的。我还能做什么?

最佳答案

如果您在开始和结束时使用双引号 " 将创建一个字符串变量而不是 JSON,您应该直接使用它。

工作示例:

var data = {"content":"Hello there","uid":"OoIEfsgabT89EJw","createdAt":1451586225268,"user":{"avatar":"https://avatars.com/126?v=3","login":"login","name":"Username","uid":123}};

console.log(data.uid); //OoIEfsgabT89EJw

无效示例:

var data='{"content":"Hello there","uid":"OoIEfsgabT89EJw","createdAt":1451586225268,"user":{"avatar":"https://avatars.com/126?v=3","login":"login","name":"Username","uid":123}}'

console.log(data.uid); //undefined

希望这对您有所帮助。

关于javascript - 不能在 JSON 上使用点符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34550322/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com