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  ```