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"]
