>  기사  >  백엔드 개발  >  Go에서 JSON 배열을 어떻게 구문 분석하나요?

Go에서 JSON 배열을 어떻게 구문 분석하나요?

Linda Hamilton
Linda Hamilton원래의
2024-11-19 20:23:03478검색

How do I parse a JSON array in Go?

Go에서 JSON 배열을 구문 분석하는 방법

Go에서 인코딩/json 패키지는 JSON 데이터를 Go 구조로 역마샬링하는 지원을 제공합니다. JSON 배열을 구문 분석하려면 다음 단계를 사용할 수 있습니다.

  1. Go 구조체 정의: JSON에서 개별 요소의 모양을 나타내는 구조체 정의 정렬. 예를 들어 JSON 배열에 이름 및 가격 필드가 있는 객체가 포함된 경우 다음 구조체를 정의합니다.

    type PublicKey struct {
        Name string
        Price string
    }

    참고: 구조체의 필드 이름이 필드와 일치하는지 확인하세요. JSON 배열의 이름.

  2. 구조체 조각 만들기: 구문 분석된 데이터를 보관할 정의된 구조체 유형 조각 만들기:

    var keys []PublicKey
  3. JSON 비정렬화: json.Unmarshal() 함수를 사용하여 JSON 배열을 구조체 조각으로 비정렬화합니다.

    err := json.Unmarshal([]byte(jsonStr), &keys)

    여기서 jsonStr 구문 분석할 JSON 데이터입니다.

  4. 오류 처리: 언마샬링 중에 발생한 오류가 있는지 확인하세요. 오류가 발생하면 err 변수에 저장됩니다:

    if err != nil {
        // Handle the error
    }
  5. 파싱된 데이터에 액세스: JSON 배열이 구문 분석되면 액세스할 수 있습니다. 구조체 조각의 개별 요소:

    for _, key := range keys {
        fmt.Println(key.Name, key.Price)
    }

예:

다음 코드는 다음 코드를 사용하여 JSON 배열을 구문 분석하는 방법을 보여줍니다. 위 단계:

package main

import (
    "encoding/json"
    "fmt"
)

type PublicKey struct {
    Name string
    Price string
}

func main() {
    jsonStr := `[{"name":"Galaxy Nexus", "price":"3460.00"},{"name":"Galaxy Nexus", "price":"3460.00"}]`

    var keys []PublicKey
    err := json.Unmarshal([]byte(jsonStr), &keys)
    if err == nil {
        for _, key := range keys {
            fmt.Println(key.Name, key.Price)
        }
    } else {
        fmt.Println(err)
    }
}

출력:

Galaxy Nexus 3460.00
Galaxy Nexus 3460.00

위 내용은 Go에서 JSON 배열을 어떻게 구문 분석하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.