it-source

JSON 명명 규칙(snake_case, camelCase 또는 PascalCase)

criticalcode 2023. 3. 7. 21:34
반응형

JSON 명명 규칙(snake_case, camelCase 또는 PascalCase)

JSON j j j j j?
밑줄로 .snake_caseᄂ, ᄂ, ᄂ, ᄂ, ᄂ, ᄂ, ᄂ, ᄂ, ᄂ, ᄂ, ᄂ, ᄂ, ᄂ, PascalCase ★★★★★★★★★★★★★★★★★」camelCase

문서에서는 Google JSON 스타일 가이드(Google에서 JSON API를 빌드하기 위한 권장 사항),

다음 사항을 권장합니다.

  1. 속성 이름은 camelCase ASCII 문자열이어야 합니다.

  2. 첫 번째 문자는 문자, 밑줄(_) 또는 달러 기호($)여야 합니다.

예:

{
  "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_caseJSON 규약도 따라야 합니다.

(「 「 「Java」, 「Java」)은 3개입니다.camelCase ) 및 C(C)snake_case -- 및의 추가 ( )------------------------------------------------------------------------------kebab-caselonger-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");

일부 실제 구현

결론들

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.

다른 사람들이 말한 것처럼 기준이 없기 때문에 당신이 직접 선택해야 합니다.이 작업을 수행할 때 고려해야 할 몇 가지 사항은 다음과 같습니다.

  1. JavaScript를 사용하여 JSON을 사용하는 경우 두 속성 모두에서 동일한 명명 규칙을 사용하면 시각적 일관성이 제공되며 보다 깔끔한 코드를 재사용할 수 있습니다.

  2. 는 하이픈이 으로 「」와 이 있기 입니다.-츠요시

    {
      "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

반응형