Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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

alert(object);

Here is the result:

enter image description here

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

    alert(object["id"]); 

The result is this:

enter image description here

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

What the hell is going on here?!

like image 969
steady_progress Avatar asked Jun 23 '17 20:06

steady_progress


2 Answers

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 for deserializing a JSON string.
When you try to do alert(obj) with a real object the result would be [object Object] or something like that

like image 166
Yuval Perelman Avatar answered Oct 23 '22 02:10

Yuval Perelman


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);

After parsing your JSON Object, you can access it's values as following:

alert(result.id);
like image 44
Mahmoud Ali Kassem Avatar answered Oct 23 '22 03:10

Mahmoud Ali Kassem