Go에서 JSON 배열을 구문 분석하는 방법
Go에서 인코딩/json 패키지는 JSON 데이터를 Go 구조로 역마샬링하는 지원을 제공합니다. JSON 배열을 구문 분석하려면 다음 단계를 사용할 수 있습니다.
Go 구조체 정의: JSON에서 개별 요소의 모양을 나타내는 구조체 정의 정렬. 예를 들어 JSON 배열에 이름 및 가격 필드가 있는 객체가 포함된 경우 다음 구조체를 정의합니다.
type PublicKey struct { Name string Price string }
참고: 구조체의 필드 이름이 필드와 일치하는지 확인하세요. JSON 배열의 이름.
구조체 조각 만들기: 구문 분석된 데이터를 보관할 정의된 구조체 유형 조각 만들기:
var keys []PublicKey
JSON 비정렬화: json.Unmarshal() 함수를 사용하여 JSON 배열을 구조체 조각으로 비정렬화합니다.
err := json.Unmarshal([]byte(jsonStr), &keys)
여기서 jsonStr 구문 분석할 JSON 데이터입니다.
오류 처리: 언마샬링 중에 발생한 오류가 있는지 확인하세요. 오류가 발생하면 err 변수에 저장됩니다:
if err != nil { // Handle the error }
파싱된 데이터에 액세스: 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!