Skip to content

Commit de4cb32

Browse files
authored
Merge pull request #13 from BoSong-Unity/APIN-1932
[APIN-1932]fix empty string decoding issue
2 parents 4ee8ff0 + 73603a0 commit de4cb32

2 files changed

Lines changed: 7 additions & 1 deletion

File tree

numbers.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ type StringOrNumber string
3636

3737
// UnmarshalJSON implements json.Unmarshaler
3838
func (n *StringOrNumber) UnmarshalJSON(data []byte) error {
39-
if len(data) > 2 && data[0] == '"' && data[len(data)-1] == '"' {
39+
if len(data) >= 2 && data[0] == '"' && data[len(data)-1] == '"' {
4040
var v string
4141
if err := json.Unmarshal(data, &v); err != nil {
4242
return err

numbers_test.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,4 +51,10 @@ var _ = Describe("StringOrNumber", func() {
5151
Expect(string(bin)).To(Equal(`"33"`))
5252
})
5353

54+
It("should decode empty strings", func() {
55+
var n StringOrNumber
56+
Expect(json.Unmarshal([]byte(`""`), &n)).To(Succeed())
57+
Expect(n).To(Equal(StringOrNumber("")))
58+
})
59+
5460
})

0 commit comments

Comments
 (0)