Как добраться, JSON возражает значению, если его имя содержит точки?

У меня есть очень простой массив JSON (сфокусируйтесь на объекте "points.bean.pointsBase"):

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

Но к сожалению, это ничего действительно не отображает.
Когда я изменяю "points.bean.pointsBase" на что-то без точек в, он - имя - все работает!

Однако я не могу изменить это имя ни на что больше без точек, но я должен получить значение?!
Там какие-либо опции состоят в том, чтобы получить его?

93
задан wallyk 28 September 2011 в 20:07
поделиться

3 ответа

Вы хотите:

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

В JavaScript любое поле, к которому можно получить доступ с помощью. оператора, вы можете получить доступ с помощью [] со строковой версией имени поля.

188
ответ дан 24 November 2019 в 06:14
поделиться

Попробуйте ["points.bean.pointsBase"]

17
ответ дан 24 November 2019 в 06:14
поделиться

в JavaScript свойства объекта можно получить с помощью. или с индексированием ассоциативного массива с помощью []. т.е. object.property эквивалентно object ["property"]

, это должно помочь

var smth = mydata.list[0]["points.bean.pointsBase"][0].time;
24
ответ дан 24 November 2019 в 06:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: