javascript says JSON object property is undefined although it's not

徘徊边缘 提交于 2019-12-19 18:27:49

问题


I have a json-object, which I print to the screen (using alert()-function):

alert(object);

Here is the result:

Then I want to print the value of the id to the screen:

    alert(object["id"]); 

The result is this:

As you can see, the value of key "id" is not(!!!) undefined.

What the hell is going on here?!


回答1:


Looks like your json object is not really an object, it's a json string. in order to use it as an object you will need to use a deserialization function like JSON.parse(obj). Many frameworks have their own implementation to how to deserialize a JSON string.
When you try to do alert(obj) with a real object the result would be [object Object] or something like that




回答2:


Your JSON is not parsed, so in order for JavaScript to be able to access it's values you should parse it first as in line 1:

var result = JSON.parse(object);
alert(result.id);

After your JSON Objected is already parsed, then you can access it's values as following:

alert(result.id);



回答3:


You will need to assign that to a var and then access it.

var object = {id: "someId"};
console.log(object);
alert(object["id"]);



回答4:


In JavaScript, object properties can be accessed with . operator or with associative array indexing using []. I.e. object.property is equivalent to object["property"]

You can try:

var obj = JSON.parse(Object);
alert(obj.id); 


来源:https://stackoverflow.com/questions/44729266/javascript-says-json-object-property-is-undefined-although-its-not

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!