diff --git a/json/build.go b/json/build.go index 469b8c5..467aad4 100644 --- a/json/build.go +++ b/json/build.go @@ -200,7 +200,14 @@ func (dj *DynamicJSON) getValFormat(root *JSONode) string { // // Date : 12:21 下午 2021/3/13 func (dj *DynamicJSON) getStartSymbol(root *JSONode) string { - if nil == root || root.IsRoot { + if nil == root { + return "{" + } + + if root.IsRoot { + if root.IsSlice { + return "[" + } return "{" } key := fmt.Sprintf("\"%s\"", root.Key) diff --git a/json/json_test.go b/json/json_test.go index e99b9f5..4858152 100644 --- a/json/json_test.go +++ b/json/json_test.go @@ -33,6 +33,11 @@ func TestJSON(t *testing.T) { tree.SetValue("slice.[2].name", "man") tree.SetValue("slice.[3]", "zhangdeman") fmt.Println(tree.String()) + tree = NewDynamicJSON() + tree.SetValue("[0]", "zhang") + tree.SetValue("[1]", "de") + tree.SetValue("[2]", "man") + fmt.Println(tree.String()) } // TestType 判断数据类型断言