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 중국어 웹사이트의 기타 관련 기사를 참조하세요!