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  }