github.com/isyscore/isc-gobase@v1.5.3-0.20231218061332-cbc7451899e9/json/README.md (about) 1 # json 2 3 json包是为了方便对json格式的字符处理使用 4 5 ```json 6 { 7 "k1":12, 8 "k2":true, 9 "k3":{ 10 "k31":32, 11 "k32":"str", 12 "k33":{ 13 "k331":12 14 } 15 } 16 } 17 ``` 18 19 ```go 20 func TestLoad(t *testing.T) { 21 jsonObject := json.Object{} 22 // str就是上面的字符串 23 err := jsonObject.Load(str) 24 if err != nil { 25 fmt.Println(err.Error()) 26 return 27 } 28 29 assert.Equal(t, jsonObject.Get("k1"), 12) 30 assert.Equal(t, jsonObject.Get("k2"), true) 31 // 支持连key获取 32 assert.Equal(t, jsonObject.Get("k3.k31"), 32) 33 assert.Equal(t, jsonObject.Get("k3.k32"), "str") 34 assert.Equal(t, jsonObject.Get("k3.k33.k331"), 12) 35 } 36 ``` 37 38 另外也提供了各种类型的api用于指定的类型使用 39 ```go 40 41 GetString(key string) string 42 GetInt(key string) int 43 GetInt8(key string) int8 44 GetInt16(key string) int16 45 GetInt32(key string) int32 46 GetInt64(key string) int64 47 GetUInt(key string) uint 48 GetUInt8(key string) uint8 49 GetUInt16(key string) uint16 50 GetUInt32(key string) uint32 51 GetUInt64(key string) uint64 52 GetFloat32(key string) float32 53 GetFloat64(key string) float64 54 GetBool(key string) bool 55 GetObject(key string, targetPtrObj any) error 56 GetArray(key string) []any 57 ```