확장-JsonFile

5723 단어 powershelljsondevops
Json 형식은 사물을 정의하는 놀라운 방법이므로 개발자는 엔티티를 설명하기 위해 코드 저장소에 Json 형식을 자주 사용합니다. Devops는 또한 json 파일을 사용하여 애플리케이션 또는 기타 항목을 구성합니다.

json 파일 수의 급증과 일관성 없는 데이터가 문제가 될 수 있으므로 이를 방지하기 위해 json 파일에 포함된 표현식을 해결할 수 있는 작은 powershell 스크립트를 만들었습니다. 표현식은 서로 다른 파일 간의 상관 관계를 정의합니다.

예시:

데이터 폴더에는 세 개의 json 파일이 있습니다.
  • customers.json(고객 세트 포함)
  • products.json(제품 세트 포함)
  • orders.json(주문 세트 포함)

  • orders.json에는 참조 표현식을 평가하여 계산해야 하는 두 가지 속성(제품 및 고객)이 있습니다.

    // orders.json
    [
        {
            "created":"2022-10-15T09:00:00",
            "product":"[data/products(pid=1).title]",
            "quantity":1,
            "customer":"[data/customers(cid=3).name]",
            "notes":"this is a note"
        },
        {
            "created":"2022-10-15T10:00:00",
            "product":"[data/products(pid=2).title]",
            "quantity":2,
            "customer":"[data/customers(cid=3).name]",
            "notes":"this is a note2"
        }
    ]
    


    Expand-JsonFile 함수는 orders.json 파일에 포함된 참조 식을 평가하고 새 파일을 생성합니다.

    # example.ps1
    
    . .\lib.ps1
    Expand-JsonFile -SourceFile data/orders.json -TargetFile data/orders_expanded.json
    


    결과 json 파일에는 속성 값이 포함됩니다.

    // orders_expanded.json
    [
        {
            "created": "2022-10-15T09:00:00",
            "product": "xbox",
            "quantity": 1,
            "customer": "Paperino",
            "notes": "this is a note"
        },
        {
            "created": "2022-10-15T10:00:00",
            "product": "playstation",
            "quantity": 2,
            "customer": "Paperino",
            "notes": "this is a note2"
        }
    ]
    


    스크립트 코드를 사용할 수 있습니다here.

    좋은 웹페이지 즐겨찾기