반응형
“-”대시를 사용하여 JSON 속성에 액세스 할 수 없습니다
문자열에 대시 문자가 있으면 json 객체에서 값을 검색 할 수 없습니다.
{
"profile-id":1234, "user_id":6789
}
파싱 된 참조를 시도 jsonObj.profile-id
하면 반환 ReferenceError: "id" is not defined
되지만 jsonObj.user_id는 6789를 반환합니다.
외부 API 호출에서 반환되는 값을 수정하고 대시를 제거하기 위해 반환 된 문자열을 구문 분석하려고 시도하면 전달되는 URL 등이 손상됩니다. 도움?
jsonObj.profile-id
뺄셈 표현식입니다 (예 :) jsonObj.profile - id
.
식별자에 나타나지 않는 문자가 포함 된 키에 액세스하려면 대괄호를 사용하십시오.
jsonObj["profile-id"]
사용하기 쉽고 하이픈을 사용하면 다음과 같이 작동했습니다.
- name: free-ud-ssd-space-in-percent
debug:
var: clusterInfo.json.content["free-ud-ssd-space-in-percent"]
이 답변 외에도 Node.js에서 배열 구문으로 JSON에 액세스하면 []
모든 중첩 JSON 키가 해당 구문을 따라야합니다.
이것은 잘못된 길입니다
json.first.second.third['comment']
'정의되지 않은'오류가 발생합니다.
이것이 올바른 방법입니다
json['first']['second']['third']['comment']
참고 URL : https://stackoverflow.com/questions/13869627/unable-to-access-json-property-with-dash
반응형
'program story' 카테고리의 다른 글
ConnectivityManager getNetworkInfo (int) 추천하지 않습니다 (0) | 2020.07.28 |
---|---|
Retrofit 2로 빈 반응 바디를 어떻게 처리 할 수 있습니까? (0) | 2020.07.28 |
안드로이드에서 UI 스레드를 감지하는 방법? (0) | 2020.07.28 |
dplyr을 사용하여 테이블의 모든 행에 함수를 적용 하시겠습니까? (0) | 2020.07.28 |
C #에서 개체 속성 비교 (0) | 2020.07.28 |