How to get objects value if its name contains dots?

JavascriptArraysObject

Javascript Problem Overview


I have a very simple array (please focus on the object with "points.bean.pointsBase" as key):

var mydata =   
{"list":  
  [      {"points.bean.pointsBase":        [          {"time": 2000, "caption":"caption text", duration: 5000},          {"time": 6000, "caption":"caption text", duration: 3000}        ]  
    }  
  ]  
};  
 
// Usually we make smth like this to get the value: 
var smth = mydata.list[0].points.bean.pointsBase[0].time; 
alert(smth); // should display 2000

But, unfortunately, it displays nothing. When I change "points.bean.pointsBase" to something without dots in its name - everything works.

However, I can't change this name to anything else without dots, but I need to get a value? Is there any options to get it?

Javascript Solutions


Solution 1 - Javascript

What you want is:

var smth = mydata.list[0]["points.bean.pointsBase"][0].time;

In JavaScript, any field you can access using the . operator, you can access using [] with a string version of the field name.

Solution 2 - Javascript

in javascript, object properties can be accessed with . operator or with associative array indexing using []. ie. object.property is equivalent to object["property"]

this should do the trick

var smth = mydata.list[0]["points.bean.pointsBase"][0].time;

Solution 3 - Javascript

Try ["points.bean.pointsBase"]

Solution 4 - Javascript

If json object key/name contains dot......! like

var myJson = {"my.name":"vikas","my.age":27}

Than you can access like

myJson["my.name"]
myJson["my.age"]

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionNik SumeikoView Question on Stackoverflow
Solution 1 - JavascriptRussell LeggettView Answer on Stackoverflow
Solution 2 - Javascriptz33mView Answer on Stackoverflow
Solution 3 - JavascriptTK.View Answer on Stackoverflow
Solution 4 - JavascriptVikas s kumarView Answer on Stackoverflow