>백엔드 개발 >Golang >Go에서 int64 JSON 데이터를 구문 분석할 때 Null 값을 처리하는 방법은 무엇입니까?

Go에서 int64 JSON 데이터를 구문 분석할 때 Null 값을 처리하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-30 15:38:14129검색

How to Handle Null Values When Parsing int64 JSON Data in Go?

Go에서 int64의 JSON 구문 분석: Null 값 처리

Go에서 int64 유형의 정수 값이 포함된 JSON 데이터를 구문 분석하면 다음과 같은 경우 문제가 발생할 수 있습니다. null 값이 발생했습니다. null 값이 발견되면 null을 int64로 역정렬화할 수 없기 때문에 기본 JSON 패키지에서 오류가 발생합니다.

JSON 구문 분석을 위한 Nullable int64 유형

이를 극복하려면 제한적으로 nullable int64 유형이 필요합니다. nullable int64는 nil 값 또는 유효한 int64 값을 허용합니다. Go에서 포인터를 사용하면 다음 기능을 얻을 수 있습니다.

type NullableInt64 *int64

유형에 포인터를 사용할 때 포인터는 nil이거나 int64 값을 참조할 수 있습니다.

구현

nullable int64 유형을 이전 유형에 통합 예:

package main

import (
    "encoding/json"
    "fmt"
)

var d = []byte(`{ "world":[{"data": 2251799813685312}, {"data": null}]}`)

type jsonobj struct{ World []World }
type World struct{ Data *int64 } // Using *int64 for nullable int64

func main() {
    var data jsonobj
    jerr := json.Unmarshal(d, &data)
    fmt.Println(jerr)
}

이 수정을 통해 JSON 파서는 오류 없이 "데이터" 필드의 null 값을 성공적으로 처리할 수 있습니다.

위 내용은 Go에서 int64 JSON 데이터를 구문 분석할 때 Null 값을 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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