json

json提供了JSON操作相关的函数

函数目录

函数详解

func encode(value, indent?)

value序列化为json字符串,返回Str

indent如果不缺省,序列化结果会带上换行和缩进,以更可读的形式生成。其中:

  • 当indent为Int时:每一个层级前面加上层级数乘以indent个空格作为缩进

  • 当indent为Str时:每一个层架前面加上层级数乘以indent字符串作为缩进

func decode(strOrBytes)

解析json字符串,返回解析出来的zgg value,是encode的逆操作

func format(strOrBytes, indent?)

将json字符串以指定形式重新格式化(以提高可读性)。format(a, b)实际上是encode(decode(a), b)的简化形式

func find(jsonpath, value)

通过jsonpath,获取value的指定字段内容

注:当传入value类型为Str或者Bytes时,find函数会先对value进行json.decode操作,即

s := '{"a":1}'
//以下两行是等价的
@json.find('$.a', s)
@json.find('$.a', @json.decode(s))

具体jsonpath的语法,请参考github.com/oliveagle/jsonpath

最后更新于