Come ottenere valore oggetti JSON se il suo nome contiene punti?

Ho un array JSON molto semplice (concentrarsi sull’object “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 

Ma sfortunatamente non mostra nulla.
Quando cambio “points.bean.pointsBase” in smth senza punti nel suo nome – tutto funziona!

Tuttavia, non posso cambiare questo nome in nessun altro senza punti, ma ho bisogno di ottenere un valore ?!
C’è qualche opzione per averlo?

Quello che vuoi è:

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

In JavaScript, qualsiasi campo a cui puoi accedere usando il. operatore, è ansible accedere utilizzando [] con una versione stringa del nome del campo.

in javascript è ansible accedere alle proprietà dell’object. operatore o con indicizzazione di array associativi usando []. vale a dire. object.property è equivalente object["property"]

questo dovrebbe fare il trucco

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

Prova ["points.bean.pointsBase"]

Per utilizzare la soluzione aggiornata, provare a utilizzare l’utilità di lodash https://lodash.com/docs#get