
用法:
str := `{"people":{"name":{"first":"bob"}}}` first := gjson.Get(str, "people.name.first") assert.Equal(t, first.String(), "bob") str := `{"people":[{"bob":{"age":10}},{"alice":{"age":10}}]}` age := gjson.GetWithArithmetic(str, "people[0].bob.age + people[1].alice.age") assert.Equal(t, age.Int(), 20) 源码地址: https://github.com/crossoverJie/gjson
取名确实是老大难了,索性和 gjson 一样了,也借鉴了它的 api 设计,但是简化了需多功能,只保留最常用的查询;同时代码要更容易阅读一些。
这个四则运算功能确实也比较小众,但聊胜于无嘛,当真需要临时计算一个复杂 JSON 中的两个字段值时,也能多一个选项。
感兴趣的可以试用一下。
1 rekulas Jul 4, 2022 取名。。。不建议跟已有知名库重名,对宣传很不利,哪怕随便起个 xjson ,fjson 也比 gjson 好吧 json 解析大家都喜欢老牌稳定库避免出 bug ,建议加点独特优势增加竞争力,比如 get/set 一体 json 库,就比 gjson 好用了 |
2 crossoverJie OP @rekulas #1 xjson 可以,当时确实不知道取啥名了。 |
3 zm8m93Q1e5otOC69 Jul 8, 2022 @crossoverJie gjson-lite |