[javascript] JSON 키 이름에서 어떤 문자가 유효 / 무효입니까?
JavaScript 객체 또는 JSON 문자열에 대해 키 이름에 금지 된 문자가 있습니까? 아니면 탈출해야 할 캐릭터?
보다 구체적으로, 키 이름에 “$”, “-“및 공백을 사용하고 싶습니다.
답변
아니요. 유효한 문자열은 유효한 키입니다. "
당신이 탈출하는 한 그것을 가질 수도 있습니다 .
{"The \"meaning\" of life":42}
키를 객체 필드 이름과 연결하려는 일부 언어로 이러한 값을로드하는 데 어려움이있을 수 있습니다. 그러나 나는 그런 경우를 모른다.
답변
문제를 피하려면 JSON 데이터에서 다음 문자를 이스케이프해야합니다
작은 따옴표
” 인용문
백 슬래시
\ n \ t와 같은 모든 제어 문자
JSON 파서 는 JSON 을 다루는 데 도움을 줄 수 있습니다.
답변
숫자로 키를 시작하는 것이 유효하지만 의도하지 않은 문제가 발생할 수 있습니다.
예:
var testObject = {
"1tile": "test value"
};
console.log(testObject.1tile); // fails, invalid syntax
console.log(testObject["1tile"]; // workaround
답변
유니 코드 코드 포인트 U + D800에서 U + DFFF는 피해야합니다. UTF-16 서로 게이트 쌍용으로 예약되어 있기 때문에 유니 코드 에서는 유효하지 않습니다 . 일부 JSON 인코더 / 디코더는 U + FFFD로 대체합니다. 예를 들어 Go 언어 및 해당 JSON 라이브러리가이를 처리하는 방법을 참조하십시오 .
따라서 “\ uD800″에서 “\ uDFFF”만 (대리 쌍이 아닌) 피하십시오.