JSON, YAML 및 TOML 가이드

6473 단어
많은 프레임워크, 도구 등에서 종종 JSON, YAML 또는 TOML 형식의 구성 파일을 작성해야 하는 경우가 몇 가지 있습니다.
  • package.json(노드에 대한 종속성 추적)
  • tsconfig.json(타입스크립트 구성)
  • cargo.toml(녹 프로젝트에 대한 종속성 추적)
  • database.yaml(Ruby of Rails 프로젝트의 데이터베이스 구성)
  • serverless.yaml(서버리스 프레임워크를 사용하여 배포 구성)

  • 이들은 모두 기본적으로 동일한 작업을 수행하며 도구 또는 프레임워크가 수행하는 작업을 구성하기 위해 모든 프로그래밍 언어의 파서에서 읽을 수 있는 키/값 쌍을 나타냅니다.

    직장에서 그들을보고



    우리가 할 일은 JSON, YAML 및 TOML에서 다음 자바스크립트 객체를 번역하는 것입니다.

    const config = {
      description: {
        name: "Alex Merced",
        age: 36,
        employer: "Dremio",
      },
      onlinePressence: {
        websites: ["devnursery.com", "grokoverflow.com", "alexmercedcoder.com"],
        twitter: ["alexmercedcoder", "amdatalakehouse"],
      },
    };
    


    JSON



    이것은 JSON이 "Javascript Object Notation"을 의미하기 때문에 가장 간단할 것입니다. 이는 자바스크립트 객체와 매우 유사하게 보이기 위한 것입니다. 몇 가지 차이점:
  • 키에 인용이 필요함
  • 후행 쉼표 없음

  • {
      "description": {
        "name": "Alex Merced",
        "age": 36,
        "employer": "Dremio"
      },
      "onlinePressence": {
        "websites": ["devnursery.com", "grokoverflow.com", "alexmercedcoder.com"],
        "twitter": ["alexmercedcoder", "amdatalakehouse"]
      }
    }
    


    매우 간단합니다. 아마도 javascript 도구에서 이것이 일반적으로 형식으로 이동하는 이유일 것입니다. 유일한 단점은 변수나 환경 변수를 주입할 수 없다는 것입니다.

    YAML



    YAML은 "Yet Another Markup Language"의 약자입니다. 들여쓰기에 크게 의존하는 Python처럼 마크업 언어의 파이썬이라고 부를 수 있습니다.

    description:
        name: Alex Merced
        age: 36
        employer: Dremio
    
    onlinePressence: 
        websites: 
            - devnursery.com
            - grokoverflow.com
            - alexmercedcoder.com
        twitter: 
            - alexmercedcoder
            - amdatalakehouse
    
    


    YAML은 또한 환경 변수에 액세스할 수 있지만 여러 가지 방법으로 속성을 재사용할 수 있습니다.
  • &property<<: *property 객체에서 다른 객체로 모든 속성 주입
  • {{property}} 한 속성 값을 다른 키 값으로 주입

  • TOML



    TOML은 "Toms Obvious Markup Language"의 약자이며 Netlify 구성 및 Rust에 가장 자주 사용되며 들여쓰기에 의존하지 않는 간단한 구문을 사용하여 구성 파일의 Ruby로 분류합니다.

    [description]
    name: "Alex Merced"
    age: 36
    employer: "Dremio"
    
    [onlinePressence] 
    websites: ["devnursery.com","grokoverflow.com","alexmercedcoder.com"]
    twitter: ["alexmercedcoder", "amdatalakehouse"]
    


    하지만 네, 그게 전부입니다. 우리가 말하는 형식에 관계없이 이러한 예는 동일한 정보를 전달합니다. 특정 프레임워크와 언어가 찾는 가치는 그들에게 달려 있으므로 해당 문서를 읽어야 하지만 이것이 도움이 되기를 바랍니다.

    좋은 웹페이지 즐겨찾기