그래서 자바 스크립트에서 json에서 키 값을 가져와야합니다. 그러나 키의 객체 점 이름을 제공하면 얻을 수 있습니다.
<script>
var text = '{"employees":[' +
'{"firstName":"John","lastName":"Doe" },' +
'{"firstName":"Anna","lastName":"Smith" },' +
'{"firstName":"Peter","lastName":"Jones" }]}';
obj = JSON.parse(text);
document.getElementById("demo").innerHTML =
obj.employees[1].firstname + " " + obj.employees[1].lastName;
</script>
그러나 키 이름을 변수에 저장하고 키 값을 가져 오는 데 사용하면 작동하지 않습니다.
<script>
var text = '{"employees":[' +
'{"firstName":"John","lastName":"Doe" },' +
'{"firstName":"Anna","lastName":"Smith" },' +
'{"firstName":"Peter","lastName":"Jones" }]}';
obj = JSON.parse(text);
fn="firstname";
ln="lastname";
document.getElementById("demo").innerHTML =
obj.employees[1].fn + " " + obj.employees[1].ln;
</script>
fn 및 ln으로 키를 찾는 문제를 이해할 수 있습니다. 누구든지 키 이름이 저장된 변수를 사용하여 키 값을 얻는 방법을 설명 할 수 있습니까?
코드가 제대로 실행되지 않는 이유에 대해 좀 더 자세히 설명하고 싶었습니다. 이는 JavaScript가 점 표기법 뒤에 오는 것을 해석하는 방식 때문입니다.
fn="firstName";
obj.employees[1].fn;
이 경우 obj.employees [1] .fn은 fn이 변수의 이름 임에도 불구하고 JavaScript가 obj에서 "fn"이라는 속성을 찾고 있기 때문에 undefined를 반환합니다. 그러나 대괄호 표기법을 사용하면 변수에 저장된 문자열을 "개봉"하고이를 사용하여 속성 키를 가져옵니다. 다른 답변에서 언급했듯이 동적 변수로 키를 잡는 올바른 방법은 대괄호 표기법을 사용하는 것입니다.
obj.employees[0][fn];
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다