JSON 명명 규칙(snake_case, camelCase 또는 PascalCase)
JSON j j j j j?
밑줄로 .snake_case
ᄂ, ᄂ, ᄂ, ᄂ, ᄂ, ᄂ, ᄂ, ᄂ, ᄂ, ᄂ, ᄂ, ᄂ, ᄂ, PascalCase
★★★★★★★★★★★★★★★★★」camelCase
이 문서에서는 Google JSON 스타일 가이드(Google에서 JSON API를 빌드하기 위한 권장 사항),
다음 사항을 권장합니다.
속성 이름은 camelCase ASCII 문자열이어야 합니다.
첫 번째 문자는 문자, 밑줄(_) 또는 달러 기호($)여야 합니다.
예:
{
"thisPropertyIsAnIdentifier": "identifier value"
}
저희 팀은 REST API를 구축할 때 이 규칙을 일관되게 따르고 있습니다.몇 가지 이유가 있습니다.
- 우선.JSON을 사용하여 되어 있는지 여부는 하지 않기 때문입니다. 왜냐하면 우리는 API가 일관성을 유지하기를 원하기 때문입니다. API를 사용하여 구현된 API가 있는지 여부는 중요하지 않습니다.
camelCase
(Java)를 사용하는 (Java 등)snake_case
파이썬(Python) - 이기 때문에, 「」, 「webapp」, 「webapp」, 「webapp」, 「webapp」,
camelCase
됩니다. - 가 「」를 희망하는 .
snake_case
, 여전히 데이터 변환이 용이합니다.snake_case
★★★★★★★★★★★★★★★★★」camelCase
)
, 모든 이 같은 「다」, 「다」등)를 하고 있는 는, 과 같습니다.snake_case
JSON 규약도 따라야 합니다.
(「 「 「Java」, 「Java」)은 3개입니다.camelCase
) 및 C(C)snake_case
-- 및의 추가 ( )------------------------------------------------------------------------------kebab-case
longer-name
를 참조해 주세요.
대부분의 경우 문제의 서비스 개발자가 가지고 있는 배경 정보에 따라 달라집니다.c/c++ 배경(또는 많은 스크립트 언어, 루비 등을 포함한 유사한 이름을 채택한 언어)을 가진 개발자는 언더스코어 배리언트를 선택하고 나머지는 비슷합니다(Java vs. 라이브러리는 (Java Bean을 상정하고 .camelCase
)
업데이트: "표준"의 정의는 단일 표기법입니다. '그렇다, 기준이 있다'라고말할 수 , 에게는 '여러 가지 기준이 있다', ' 가지 기준이 있다.라고 주장할 수 있지만, 나에게는 여러 가지 기준이 있습니다.Naming Conventions
'더'라는 곡입니다.그 중 하나는 특정 플랫폼의 표준으로 간주할 수 있지만 JSON이 플랫폼 간의 상호 운용성을 위해 사용되는 것을 고려하면 의미가 있을 수도 있고 그렇지 않을 수도 있습니다.
ECMA-404
JSON 구문은 이름으로 사용되는 문자열에 제한을 두지 않습니다.
JSON에는 표준적인 키의 이름이 없기 때문에 camelCase 또는 snake_case는 정상적으로 동작합니다.
TL;DR
여기 대부분의 개발자들이 사용하는 일반적인 규칙이 있습니다.
테크놀로지 스택 | 명명 규칙 | 이유/가이드 |
---|---|---|
Python » JSON python Python | snake_case | 만장일치 |
Python j JSON php PHP | snake_case | 만장일치 |
Python j JSON java Java | snake_case 또는 camelCase | 비즈니스 로직이 존재하는 장소에 의존합니다.Java의 외적 스타일을 활용하십시오. |
Python © JSON © 백엔드 JavaScript | snake_case 또는 camelCase | 비즈니스 로직이 존재하는 장소에 의존합니다. |
Python © JSON © 프런트 엔드 JavaScript | snake_case | 앞부분을 조여주세요. |
Python j JSON you모르겠습니다 | snake_case | 파서는 집어치워 |
PHP j JSON python Python | snake_case | 만장일치 |
PHP j JSON php PHP | snake_case | 만장일치 |
PHP j JSON java Java | snake_case 또는 camelCase | 비즈니스 로직이 존재하는 장소에 의존합니다.Java의 외적 스타일을 활용하십시오. |
PHP © JSON © 백엔드 JavaScript | snake_case 또는 camelCase | 비즈니스 로직이 존재하는 장소에 의존합니다. |
PHP © JSON © 프런트 엔드 JavaScript | snake_case | 앞부분을 조여주세요. |
PHP j JSON you모르겠습니다 | snake_case | 파서는 집어치워 |
Java j JSON python Python | camel Case 또는 snake_case | 비즈니스 로직이 존재하는 장소에 의존합니다.Java의 외적 스타일을 활용하십시오. |
Java j JSON php PHP | camel Case 또는 snake_case | 비즈니스 로직이 존재하는 장소에 의존합니다.Java의 외적 스타일을 활용하십시오. |
Java j JSON java Java | 카멜 케이스 | 만장일치 |
Java j JSON java JavaScript | 카멜 케이스 | 만장일치 |
Java son JSON you모르는 | 카멜 케이스 | 파서는 집어치워 |
백엔드 JavaScript j JSON python Python | camel Case 또는 snake_case | 비즈니스 로직이 존재하는 장소에 의존합니다. |
프런트 엔드 JavaScript j JSON python Python | snake_case | 앞부분을 조여주세요. |
백엔드 JavaScript j JSON php PHP | camel Case 또는 snake_case | 비즈니스 로직이 존재하는 장소에 의존합니다. |
프런트 엔드 JavaScript j JSON php PHP | snake_case | 앞부분을 조여주세요. |
JavaScript j JSON java Java | 카멜 케이스 | 만장일치 |
JavaScript j JSON java JavaScript | 카멜 케이스 | 원래의 |
JavaScript j JSON you모르는 | 카멜 케이스 | 파서는 집어치워 |
추진 요인
JSON만으로는 표준이 적용되지 않기 때문에 명명 규칙을 적용하는 것은 매우 혼란스럽습니다.단, 컴포넌트로 나누면 쉽게 알 수 있습니다.
JSON 발생기
프로그래밍 언어 | 명명 규칙 |
---|---|
파이썬 | snake_case |
PHP | snake_case |
자바 | 카멜 케이스 |
자바스크립트 | 카멜 케이스 |
JSON 파서
프로그래밍 언어 | 명명 규칙 |
---|---|
파이썬 | snake_case |
PHP | snake_case |
자바 | 카멜 케이스 |
자바스크립트 | 카멜 케이스 |
비즈니스 로직의 대부분
JSON 제너레이터 측과 JSON 파서 측 중 어느 쪽이 비즈니스 로직이 더 무거운지 결정해야 합니다.
자연적 귀속성
프로그래밍 언어 | 자연적 귀속성 |
---|---|
파이썬 | 본질적인 |
PHP | 본질적인 |
자바 | 외인성 |
자바스크립트 | 본질적인 |
본질 - 네이티브 객체 및 어레이에 액세스하는 것과 유사하게 JSON에 자연스럽게 액세스하는 프로그래밍 언어입니다.
Extrinsic - 네이티브 오브젝트 및 어레이에 액세스하는 것과 달리 JSON에 액세스하는 프로그래밍 언어입니다.Java의 예를 다음에 나타냅니다.com.google.gson
패키지:
/**
* Using a method to access a property instead of using the standard 'dot.syntax'
*/
JsonElement.getAsString("snake_cased_key");
일부 실제 구현
- Google Maps JavaScript API - camelCased
- Facebook JavaScript API - snake_cased
- Amazon Web Services - snake_cased & camelcased
- Twitter API - snake_cased
- JSON-LD - 카멜 케이스
결론들
JSON 구현에 적합한 JSON 명명 규칙을 선택하는 방법은 기술 스택에 따라 달라집니다.snake_case, camelCase 또는 기타 명명 규칙을 사용할 수 있는 경우가 있습니다.
고려해야 할 또 다른 사항은 JSON-generator와 JSON-parser 및/또는 프런트엔드 JavaScript에 대한 가중치입니다.일반적으로 비즈니스 로직 쪽에 무게를 두어야 한다.
또, JSON 파서측을 알 수 없는 경우는, 무엇이 기능하는지를 선언할 수 있습니다.
특히 NodeJS에서 데이터베이스로 작업하고 필드 이름이 밑줄로 구분되어 있으면 구조 키에서도 사용합니다.
이는 db 필드의 줄임말이 많기 때문에 appSNSInterfaceRRTest와 같은 것이 조금 지저분해 보이지만 app_sns_interface_r_test가 더 좋기 때문입니다.
Javascript에서 변수는 모두 camelCase이고 클래스 이름(컨스트럭터)은 ProperCase이므로 다음과 같습니다.
var devTask = {
task_id: 120,
store_id: 2118,
task_name: 'generalLedger'
};
또는
generalLedgerTask = new GeneralLedgerTask( devTask );
JSON 키/문자열은 큰따옴표로 둘러싸여 있지만 JSON.stringify를 사용하여 JS 객체를 전달하기만 하면 되므로 걱정할 필요가 없습니다.
JSON과 JS의 명명 규칙 사이에서 이 해피미디어를 찾을 때까지 저는 조금 고민했습니다.
모든 관습에서 다른 관습으로 전환할 수 있도록 하기 위해 많은 변화가 있는 것 같습니다.http://www.cowtowncoder.com/blog/archives/cat_json.html
JSON 는 JSON을 선호합니다.bean_naming
.
다른 사람들이 말한 것처럼 기준이 없기 때문에 당신이 직접 선택해야 합니다.이 작업을 수행할 때 고려해야 할 몇 가지 사항은 다음과 같습니다.
JavaScript를 사용하여 JSON을 사용하는 경우 두 속성 모두에서 동일한 명명 규칙을 사용하면 시각적 일관성이 제공되며 보다 깔끔한 코드를 재사용할 수 있습니다.
는 하이픈이 으로 「」와 이 있기 입니다.
-
츠요시{ "bank-balance": -10 }
JSON에 대한 공식적인 명명 규칙은 없다고 생각합니다만, 업계 리더를 따라 JSON의 작동 방식을 확인할 수 있습니다.
세계 최대의 IT기업 중 하나인 Google은 JSON 스타일 가이드를 제공하고 있습니다.https://google.github.io/styleguide/jsoncstyleguide.xml
Google에서 정의한 기타 스타일 가이드를 https://github.com/google/styleguide에서 찾을 수 있습니다.
언급URL : https://stackoverflow.com/questions/5543490/json-naming-convention-snake-case-camelcase-or-pascalcase
'it-source' 카테고리의 다른 글
JSON(iOS)을 사용한 코코아 오류 3840 (0) | 2023.03.07 |
---|---|
스프링 부트 정보웹 환경을 올바르게 비활성화하는 방법 (0) | 2023.03.07 |
리액트 라우터를 사용하여 사용자가 페이지를 떠나는 것을 감지하는 중 (0) | 2023.03.07 |
페이지 로드 시 웹 페이지 콘텐츠를 어떻게 div에 로드할 수 있습니까? (0) | 2023.03.07 |
상태가 개체의 배열인 경우 반응 상태를 업데이트하는 중 (0) | 2023.03.07 |