72 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Package json...
 | |
| //
 | |
| // Description : json...
 | |
| //
 | |
| // Author : go_developer@163.com<张德满>
 | |
| //
 | |
| // Date : 2021-03-10 11:44 下午
 | |
| package json
 | |
| 
 | |
| import (
 | |
| 	"fmt"
 | |
| 	"testing"
 | |
| )
 | |
| 
 | |
| // TestJSON ...
 | |
| //
 | |
| // Author : go_developer@163.com<张德满>
 | |
| //
 | |
| // Date : 10:58 下午 2021/3/14
 | |
| func TestJSON(t *testing.T) {
 | |
| 	tree := NewDynamicJSON()
 | |
| 	fmt.Println(tree.extraSliceIndex("[200]"))
 | |
| 	tree.SetValue("extra.height.value", 180, false)
 | |
| 	tree.SetValue("extra.height.unit.use", "cm", false)
 | |
| 	tree.SetValue("extra.height.unit.open", "1", false)
 | |
| 	tree.SetValue("name", "zhangdeman", false)
 | |
| 	tree.SetValue("good.name", "good", false)
 | |
| 	tree.SetValue("work", "111", false)
 | |
| 	tree.SetValue("good.price", "180", false)
 | |
| 	tree.SetValue("good.unit", "$", false)
 | |
| 	tree.SetValue("slice.[0].name", "zhang", false)
 | |
| 	tree.SetValue("slice.[1].name", "de", false)
 | |
| 	tree.SetValue("slice.[2].name", "man", false)
 | |
| 	tree.SetValue("slice.[3]", "zhangdeman", false)
 | |
| 	fmt.Println(tree.String())
 | |
| 	tree = NewDynamicJSON()
 | |
| 	tree.SetValue("[0]", "zhang", false)
 | |
| 	tree.SetValue("[1]", "de", false)
 | |
| 	tree.SetValue("[2]", "man", false)
 | |
| 	fmt.Println(tree.String())
 | |
| }
 | |
| 
 | |
| // TestType 判断数据类型断言
 | |
| //
 | |
| // Author : go_developer@163.com<张德满>
 | |
| //
 | |
| // Date : 10:59 下午 2021/3/14
 | |
| func TestType(t *testing.T) {
 | |
| 
 | |
| }
 | |
| 
 | |
| // TestSelect 测试动态选择字段
 | |
| //
 | |
| // Author : go_developer@163.com<张德满>
 | |
| //
 | |
| // Date : 9:47 下午 2021/4/13
 | |
| func TestSelect(t *testing.T) {
 | |
| 	source := map[string]interface{}{
 | |
| 		"name": "zhangdeman",
 | |
| 		"extra": map[string]interface{}{
 | |
| 			"age":    18,
 | |
| 			"height": 180,
 | |
| 			"slice":  []int{1, 2, 3},
 | |
| 		},
 | |
| 		"slice": []int{1, 2, 3},
 | |
| 		"map":   map[string]interface{}{"a": 1, "b": 2, "c": 4},
 | |
| 	}
 | |
| 	pathList := []string{"name", "extra.age", "slice", "map"}
 | |
| 	r, e := NewParseJSONTree(source).Parse(pathList)
 | |
| 	fmt.Println(r.String(), e)
 | |
| }
 |