如果名称包含点,如何获取 JSON 对象值?

IT技术 javascript json arrays object
2021-01-12 02:42:01

我有一个非常简单的 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”更改为名称中没有点的 smth 时 - 一切正常!

但是,我不能将此名称更改为没有点的任何其他名称,但我需要获取一个值?!
有没有办法得到它?

4个回答

你想要的是:

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

在 JavaScript 中,您可以使用 . 运算符,您可以使用 [] 和字段名称的字符串版本进行访问。

在 javascript 中,可以使用 . 运算符或使用 [] 的关联数组索引。IE。object.property相当于object["property"]

这应该可以解决问题

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

尝试 ["points.bean.pointsBase"]

如果 json 对象键/名称包含点......!喜欢

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

比你可以访问

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