javascript - Hvordan få verdien til et objekt hvis navnet inneholder prikker?


Jeg har et veldig enkelt array (vær så snill å fokusere på objektet med "points.bean.pointsBase" som nøkkel):

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

Men, dessverre, viser det ingenting. Når jeg endrer "points.bean.pointsBase" til noe uten prikker i navnet - fungerer alt.

Jeg kan imidlertid ikke endre dette navnet til noe annet uten prikker, men jeg trenger å få en verdi? Finnes det noen muligheter for å få det?

Svar #1

Det du vil ha er:

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

I JavaScript kan ethvert felt du kan få tilgang til ved å bruke .-operatoren, fås også tilgang til ved å bruke [] med en strengversjon av feltets navn.

Svar #2

i JavaScript kan objektets egenskaper aksesseres med . operatoren eller med assosiativ array-indeksering ved bruk av []. dvs. object.property er ekvivalent med object["property"]

dette bør gjøre susen

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

Svar #3

Prøv ["points.bean.pointsBase"]

Svar #4

Hvis JSON-objektnøkkel/navn inneholder punktum......! som

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

Da kan du få tilgang til som

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

Relaterte artikler