github.com/anthropics/anthropic-sdk-go@v1.70.1/internal/apijson/decoderesp_test.go (about) 1 package apijson_test 2 3 import ( 4 "encoding/json" 5 "github.com/anthropics/anthropic-sdk-go/internal/apijson" 6 "github.com/anthropics/anthropic-sdk-go/packages/respjson" 7 "testing" 8 ) 9 10 type StructWithNullExtraField struct { 11 Results []string `json:"results" api:"required"` 12 JSON struct { 13 Results respjson.Field 14 ExtraFields map[string]respjson.Field 15 raw string 16 } `json:"-"` 17 } 18 19 func (r *StructWithNullExtraField) UnmarshalJSON(data []byte) error { 20 return apijson.UnmarshalRoot(data, r) 21 } 22 23 func TestDecodeWithNullExtraField(t *testing.T) { 24 raw := `{"something_else":null}` 25 var dst *StructWithNullExtraField 26 err := json.Unmarshal([]byte(raw), &dst) 27 if err != nil { 28 t.Fatalf("error: %s", err.Error()) 29 } 30 }