JavaScript 对象显示为字符串而不是项目

标签 javascript object

所以我尝试使用 JavaScript 显示来自 API 的数据,但当我 console.log(data) 时得到一个 undefined ,我得到的结果如下所示。它是一个对象,但它如何封装为字符串?知道如何将其转换为实际对象吗?我是 JavaScript api 新手,所以我有点困惑。

 {"msg":"{\"part\":\"test\",\"station\":\"test2\"}"}  

我已经尝试使用 JSON.parse(data) 对数据进行反序列化,但没有成功。

最佳答案

您发布的实际上是一个具有属性 msg 的对象,该属性是一个 strigified JSON。为了从中获得正确的 json,请尝试 obj.msg = JSON.parse(obj.msg); 假设 obj 是响应变量,您可以将其命名为您想要的名称。

请参阅下面的代码片段。

{"msg":"{\"part\":\"test\",\"station\":\"test2\"}"} 

const obj = {"msg":"{\"part\":\"test\",\"station\":\"test2\"}"} ;
console.log('Before parsing:' + typeof obj.msg); // string
obj.msg = JSON.parse(obj.msg);
console.log('After Parsing:' + typeof obj.msg); // object

希望这有帮助:)

关于JavaScript 对象显示为字符串而不是项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58372588/

相关文章:

javascript - 使用JavaScript将多维对象数组转换为一维数组

javascript - $broadcast 不从服务中触发 (AngularJS)

javascript - 如何将参数插入多重嵌套数组/对象结构中?

javascript - javascript中 "serialize"函数的正确方法是什么供以后使用

javascript - 在声明期间访问对象中的先前值

python - 在 django 中创建 User 对象的各种方法有什么区别?

javascript - Qunit:ReferenceError:等于未定义

javascript - 在 Javascript 中检查 GPG 签名

javascript - 如何访问以@ 符号作为对象名称的 Json 对象?

java - 对象和 ".class"使用