We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
2 parents bc0f349 + 1cfceb0 commit b8c4685Copy full SHA for b8c4685
simplejson.go
@@ -176,6 +176,10 @@ func (j *Json) StringArray() ([]string, error) {
176
}
177
retArr := make([]string, 0, len(arr))
178
for _, a := range arr {
179
+ if a == nil {
180
+ retArr = append(retArr, "")
181
+ continue
182
+ }
183
s, ok := a.(string)
184
if !ok {
185
return nil, err
simplejson_test.go
@@ -13,6 +13,7 @@ func TestSimplejson(t *testing.T) {
13
js, err := NewJson([]byte(`{
14
"test": {
15
"string_array": ["asdf", "ghjk", "zxcv"],
16
+ "string_array_null": ["abc", null, "efg"],
17
"array": [1, "2", 3],
18
"arraywithsubs": [{"subkeyone": 1},
19
{"subkeytwo": 2, "subkeythree": 3}],
@@ -78,6 +79,12 @@ func TestSimplejson(t *testing.T) {
78
79
assert.Equal(t, strs[1], "ghjk")
80
assert.Equal(t, strs[2], "zxcv")
81
82
+ strs2, err := js.Get("test").Get("string_array_null").StringArray()
83
+ assert.Equal(t, err, nil)
84
+ assert.Equal(t, strs2[0], "abc")
85
+ assert.Equal(t, strs2[1], "")
86
+ assert.Equal(t, strs2[2], "efg")
87
+
88
gp, _ := js.GetPath("test", "string").String()
89
assert.Equal(t, "simplejson", gp)
90
0 commit comments