用面向对象的方式操作 JSON 甚至还能做四则运算 JSON 库
前言
在之前实现的 JSON
解析器中当时只实现了将一个 JSON 字符串转换为一个 JSONObject
,并没有将其映射为一个具体的 struct
;如果想要获取值就需要先做断言将其转换为 map
或者是切片再来获,会比较麻烦。
1 | decode, err := xjson.Decode(`{"glossary":{"title":"example glossary","age":1}}`) |
但其实转念一想,部分场景我们甚至我们只需要拿到 JSON
中的某个字段的值,这样还需要先声明一个 struct
会略显麻烦。
经过查询发现已经有了一个类似的库来解决该问题,https://github.com/tidwall/xjson 并且 star 数还很多(甚至名字都是一样的😂),说明这样的需求大家还是很强烈的。
于是我也打算增加类似的功能,使用方式如下: