Go json 目前推荐用哪个库

2021-02-20 14:47:56 +08:00
 garyox64

Go 新手 求问现在 主流 json 用哪个 库 看了一些评测好像 小 json 用 jsonparser [ https://github.com/buger/jsonparser ] 大的用 jsoniter [ https://github.com/json-iterator/go ] ?

然后我现在在用 jsoniter,没文档太痛苦了 建 struct 来序列化和反序列化 太麻烦了,因为我是复杂 json,想追求 py 的 json 使用体验, 目前使用过程中取值 可以用 Get + 路径取值,但是也只是取值而已,后面还要改值,再推送好像就没法子只能建 struct ? 看了部分文章,jsoniter 应该是可以 做到类似 py 的体验的??但是实在没找到详细的文档

求助大佬指路或者 给个样例,需求:json 直接转 struct 之类的,像 py 一样的体验

1745 次点击
所在节点    问与答
5 条回复
shoaly
2021-02-20 15:09:27 +08:00
用过 php 或者 python 的 json 都非常开心

到 go 这边 真的头痛... 简单的 json 结构还好, 就怕碰到那种层级特别复杂的 json, 各种数组嵌套, 数组套数组的时候 , 简直想哭... 昨天就碰到一个 json 例子 斗了半天才搞出来, 愿意练手的朋友 可以试试怎么在 go 里面 实例化一个 struct 对应到下面这个 json, 烦点就在 那个 inline_keyboard 里面的数据结构
{"chat_id":"123","reply_markup":{"inline_keyboard":[[{"text":"text","callback_data":"callback:success"},{"text":"text","callback_data":"callback:fail"}]]},"reply_to_message_id":"112","text":"hello"}
heiheidewo
2021-02-20 15:10:51 +08:00
ladit
2021-02-20 15:47:23 +08:00
公司用的是 jsoniter,不过没有特别复杂的操作。

@shoaly #1 如果结构是预先知道的,这个工具挺好用的: https://mholt.github.io/json-to-go/ ,如果是动态的,确实比较困扰。
shoaly
2021-02-20 17:20:39 +08:00
@ladit 老哥 你真是可爱的人..... 这个地址我之前要知道 就不用花半个小时去凑 struct 了..
LIncoln666
2021-02-20 18:01:50 +08:00
@heiheidewo 牛皮,收了。

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

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

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

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

© 2021 V2EX