写了一个 JSON 解析库,可以方便的获取数据甚至还能做四则运算。

2022-07-04 12:32:15 +08:00
 crossoverJie

用法:

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 中的两个字段值时,也能多一个选项。

感兴趣的可以试用一下。

1491 次点击
所在节点    分享创造
3 条回复
rekulas
2022-07-04 16:15:22 +08:00
取名。。。不建议跟已有知名库重名,对宣传很不利,哪怕随便起个 xjson ,fjson 也比 gjson 好吧
json 解析大家都喜欢老牌稳定库避免出 bug ,建议加点独特优势增加竞争力,比如 get/set 一体 json 库,就比 gjson 好用了 😎
crossoverJie
2022-07-04 16:17:38 +08:00
@rekulas #1 👍 xjson 可以,当时确实不知道取啥名了。
uselessVisitor
2022-07-08 21:32:16 +08:00
@crossoverJie gjson-lite

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/863932

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX