Go에서 json.Unmarshal은 언제 오류를 반환합니까?
Go에서 json.Unmarshal 함수는 JSON 문자열을 구조체로 구문 분석합니다. , 그러나 항상 오류를 반환하는 것은 아닙니다. 그러나 특정 상황에서는 오류를 반환합니다.
오류가 반환되지 않는 경우
JSON 디코더는 일반적으로 소스의 값이 '오류'가 아닐 때 오류를 보고하지 않습니다. 대상의 항목과 일치하지 않습니다. 예를 들어, 소스에 "status"라는 필드가 포함되어 있지만 대상에는 없으면 오류가 발생하지 않습니다.
Error Cases
json.Unmarshal은 반환합니다. 다음 시나리오의 오류:
오류 사례의 예
type A struct { Name string `json:"name"` } var jsonString string = `{ "status": "false" }'` var a A error := json.Unmarshal([]byte(jsonString), &a) fmt.Println(err) // prints cannot unmarshal bool into Go value of type string
이 예에서는 오류가 발생합니다. 소스 JSON에는 부울 유형의 "상태" 필드가 있지만 대상 구조체에는 해당 부울이 없기 때문입니다. 필드입니다.
위 내용은 Go에서 `json.Unmarshal`이 언제 오류를 발생시키나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!