PowerShell에서 파일에 JSON 개체 쓰기

Migel Hewage Nimesha 2023년1월30일
  1. PowerShell 사용자 지정 개체
  2. PowerShell JSON 개체를 JSON 문자열로
  3. JSON 문자열을 파일에 저장
PowerShell에서 파일에 JSON 개체 쓰기

PowerShell은 구조화된 데이터를 생성하는 데 사용할 수 있는 매우 강력한 개체 기반 언어입니다. 따라서 일반 텍스트보다 작업하기 쉽습니다.

PowerShell 사용자 지정 개체

PSCustomObject는 PowerShell 개체의 기반입니다. 여기에는 속성과 값이 포함됩니다.

따라서 PowerShell은 JSON 개체도 처리할 수 있습니다.

예제 JSON에서 JSON 사용자 지정 개체를 만들어 보겠습니다. $MyJsonVar 변수에 JSON을 할당했습니다.

$MyJsonVar = @"
 {
   "ExampleJson":{
     "Fruit1":{
       "Name":"Apple",
       "Price":"`$10.00"
     }
  }
 }
"@

출력:

PowerShell 사용자 지정 개체 1

ConvertFrom-JSON cmdlet을 사용하여 실제 JSON 개체를 만들어야 합니다. 그러면 실제 PSCustomObject가 생성됩니다.

새로 생성된 JSON 객체를 $MyJsonObject 변수에 할당해 보겠습니다.

$MyJsonObject = $MyJsonVar | ConvertFrom-Json

새로 생성된 JSON 개체인 PSCustomObject를 표시해 보겠습니다.

$MyJsonObject

출력:

PowerShell 사용자 지정 개체 2

속성으로 JSON 개체에 액세스할 수 있습니다.

$MyJsonObject.ExampleJson.Fruit1.Price
$MyJsonObject.ExampleJson.Fruit1.Name

출력:

PowerShell 사용자 지정 개체 3

따라서 $MyJsonObject라는 적절한 PowerShell 사용자 지정 개체가 있는 것으로 확인되었습니다.

PowerShell JSON 개체를 JSON 문자열로

ConvertTo-Json cmdlet은 기존 사용자 지정 개체를 JSON 문자열로 변환할 수 있습니다. 이것은 JSON 형식의 일반 텍스트가 됩니다.

통사론:

ConvertTo-Json
              [-InputObject] <Object>
              [-Depth <Int32>]
              [-Compress]
              [-EnumsAsStrings]
              [-AsArray]
              [-EscapeHandling <StringEscapeHandling>]
              [<CommonParameters>]

위의 모든 매개 변수는 ConvertTo-Json cmdlet에 대한 선택 사항입니다.

-Depth 매개변수는 JSON 문자열의 레벨 수를 지정할 수 있습니다. 중요한 매개변수이며 매우 신중하게 사용해야 합니다.

이 매개변수를 잘못 사용하면 데이터가 손실될 수 있습니다. 기본값은 2입니다.

-InputObject 매개변수는 JSON 문자열로 변환해야 하는 사용자 지정 개체를 지정합니다. 사용자 지정 개체를 ConvertTo-Json cmdlet에 쉽게 파이프할 수 있습니다.

파이프(|)를 통해 $MyJsonObject를 전송하여 사용자 지정 개체를 JSON 문자열로 변환할 수 있습니다.

$MyJsonObject | ConvertTo-Json

출력:

JSON 객체를 JSON 문자열로

JSON 문자열을 파일에 저장

PowerShell을 사용하여 JSON 문자열을 파일에 저장할 수 있습니다. JSON 문자열 출력을 Out-File cmdlet으로 파이프할 수 있습니다.

.json 파일을 생성해야 하는 경로를 지정할 수 있습니다.

$MyJsonObject | ConvertTo-Json | Out-File "D:\misc\example.json"

경로 "D\misc\example.json"은 다를 수 있습니다. 이것은 주어진 디렉토리 구조 안에 example.json 파일을 생성할 것입니다.

출력:

JSON 문자열을 파일에 저장

JSON 사용자 정의 개체가 JSON 형식의 example.json 파일에 저장되었습니다.

Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.

관련 문장 - PowerShell JSON