source

JSON 키 이름에 유효한 문자와 유효하지 않은 문자는 무엇입니까?

manycodes 2023. 1. 19. 21:05
반응형

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

Unicode 코드 포인트 U+D800에서 U+DFFF는 피해야 합니다.UTF-16의 대리 쌍용으로 예약되어 있기 때문에 Unicode에서는 무효입니다.일부 JSON 인코더/디코더에서는 U+FFD로 대체됩니다.예를 들어 Go 언어와 해당 JSON 라이브러리가 이러한 문제를 처리하는 방법을 참조하십시오.

따라서 "\uD800"에서 "\uDFFF"만 (대리 쌍이 아닌) 피하십시오.

언급URL : https://stackoverflow.com/questions/8676011/which-characters-are-valid-invalid-in-a-json-key-name

반응형