[javascript] 이름에 점이 포함 된 경우 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” 를 이름에 점이없는 smth로
변경하면 모든 것이 작동합니다!
하지만이 이름을 점 없이는 다른 이름으로 변경할 수 없지만 값을 얻어야합니까?!
그것을 얻을 수있는 옵션이 있습니까?
답변
당신이 원하는 것은 :
var smth = mydata.list[0]["points.bean.pointsBase"][0].time;
JavaScript에서. 연산자를 사용하는 경우 필드 이름의 문자열 버전과 함께 []를 사용하여 액세스 할 수 있습니다.
답변
자바 스크립트에서 객체 속성은. 연산자 또는 []를 사용하는 연관 배열 인덱싱. 즉. 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"]