PowerShell에서 JSON 파일 읽기

Aamir Khan 2024년2월15일
  1. Get-Content를 사용하여 PowerShell에서 JSON을 문자열로 읽기
  2. ConvertFrom-Json을 사용하여 PowerShell에서 JSON을 사용자 지정 개체로 읽기
  3. Invoke-WebRequest를 사용하여 PowerShell의 웹에서 JSON 읽기
PowerShell에서 JSON 파일 읽기

이 자습서는 PowerShell에서 JSON 파일을 읽는 방법을 보여줍니다.

Get-Content를 사용하여 PowerShell에서 JSON을 문자열로 읽기

Get-Content 명령은 항목의 콘텐츠를 읽는 PowerShell 명령입니다. 이 명령은 항목의 위치를 지정하는 경로 매개변수를 사용합니다. 콘텐츠는 일반적으로 텍스트 데이터입니다.

JSON 형식의 문자열도 텍스트 데이터입니다. 이 명령은 JSON 파일을 읽고 문자열로 셸에 출력할 수 있습니다.

다음 명령은 JSON 파일을 문자열로 읽습니다.

Get-Content transactions.json

출력:

[
    {
        "Date": "19/5/2022",
        "ProductId": "0001",
        "ProductName": "Fizzy Drink",
        "Cost": "2.32",
        "Currency": "USD"
    },
    {
        "Date": "16/5/2022",
        "ProductId": "0002",
        "ProductName": "Dark Chocolate",
        "Cost": "6.52",
        "Currency": "USD"
    },
    {
        "Date": "10/5/2022",
        "ProductId": "0003",
        "ProductName": "Snacks",
        "Cost": "4.2",
        "Currency": "USD"
    }
]

ConvertFrom-Json을 사용하여 PowerShell에서 JSON을 사용자 지정 개체로 읽기

ConvertFrom-Json은 JSON 형식 문자열을 PowerShell 사용자 지정 개체 또는 PSCustomObject로 변환하는 PowerShell 명령입니다. 이 개체에는 JSON 필드에 해당하는 모든 속성이 포함되어 있습니다.

다음 명령은 Get-Content를 ConvertFrom-Json과 결합하여 JSON을 PSCustomObject로 읽습니다.

Get-Content "transactions.json" | ConvertFrom-Json

출력:

Date        : 19/5/2022
ProductId   : 0001
ProductName : Fizzy Drink
Cost        : 2.32
Currency    : USD

Date        : 16/5/2022
ProductId   : 0002
ProductName : Dark Chocolate
Cost        : 6.52
Currency    : USD

Date        : 10/5/2022
ProductId   : 0003
ProductName : Snacks
Cost        : 4.2
Currency    : USD

Invoke-WebRequest를 사용하여 PowerShell의 웹에서 JSON 읽기

JSON은 클라이언트와 서버 통신을 위해 웹에서 일반적으로 사용되는 데이터 교환 형식입니다. 클라이언트는 HTTP/HTTPS 요청을 서버에 보내고 그 결과 서버는 요청된 데이터를 JSON으로 반환합니다.

PowerShell 클라이언트 및 서버 통신 일러스트레이션

Invoke-WebRequest는 HTTP 요청을 지정된 URI로 보냅니다. 서버는 요청을 수신하고 그에 따라 JSON으로 응답합니다.

다음 명령은 서버에 웹 요청을 보내고 ConvertFrom-Json을 사용하여 JSON을 구문 분석합니다.

Invoke-WebRequest -Uri https://my-json-server.typicode.com/typicode/demo/posts | ConvertFrom-Json

출력:

id title
-- -----
 1 Post 1
 2 Post 2
 3 Post 3

관련 문장 - PowerShell JSON