[英]Getting a property from an object returns undefined
There is a value that I get from the app, x
, when it is performed a JSON.stringify over it and printed it looks like this:我从应用程序中得到一个值
x
,当它在它上面执行 JSON.stringify 并打印出来时,它看起来像这样:
const x = JSON.stringify(someData);
console.log(`data: ${x}`);
result:结果:
data: {"name":"myname","id":"12345"}
I want to get only the value of a property, for example "name", so I'm doing it like this:我只想获取属性的值,例如“名称”,所以我这样做:
console.log(`dataname: ${x.name}`);
and was expecting to see printed "myname" but instead it is undefined
.并希望看到打印的 "myname" 但它是
undefined
。
I don't get what's wrong.我不明白出了什么问题。
Are you sure - despite there is an error in your JSON (double commas) - that it's actually an JS-Object?您确定 - 尽管您的 JSON(双逗号)中有错误 - 它实际上是一个 JS-Object?
First, clean this up and remove the extra ",":首先,清理它并删除额外的“,”:
{
"name":"myname",
"id":"ead65a6"
}
In your example, this actually looks like a String in JS... So you need to convert it into an object using JSON.parse(myObj)
在您的示例中,这实际上看起来像 JS 中的字符串...因此您需要使用
JSON.parse(myObj)
将其转换为对象
Then you could access it like an object:然后你可以像访问一个对象一样访问它:
myObj = JSON.parse(myObj);
console.log(myObj.name);
If it's JSON, you need to convert it to object first:如果是JSON,则需要先将其转换为对象:
const obj = JSON.parse('{"name":"myname","id":"ead65a6"}'); console.log(obj.name)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.