Golang 的生态实在太差了!难道就不存在一个 API,可以直接往 JSON 中添追加新的 key/value?

2020-07-30 09:23:52 +08:00
 einsdisp

研究了下内置的 encoding/json,以及流行的第三方 JSON 库 jsonitor,还在 github 上搜了搜,基本没找到有这个功能。

别告诉我可以先 Unmarshall 到 map[string]interface{}中再 Marshall,或者直接操作裸[]byte,这根本不是“真正”的解决办法。

13357 次点击
所在节点    Go 编程语言
79 条回复
vc1
2020-07-30 21:58:44 +08:00
学到了,原来这才是提问的正确姿势,回复里的解决办法真不错
merin96
2020-07-30 23:19:53 +08:00
tikazyq
2020-07-30 23:20:49 +08:00
为啥不直接用 struct ?静态语言用动态的方法写,感觉有些反模式
billlee
2020-07-30 23:29:11 +08:00
SAX 风格的库就可以不做反序列化,C++ 和 Java 的主流库都是支持的吧
WilliamYang
2020-07-31 00:07:29 +08:00
这才是正确的提问方式,下次想问问题的朋友可以参考一下
lslqtz
2020-07-31 03:51:18 +08:00
这样的提问方式确实好,就是容易被 b
abowloflrf
2020-07-31 09:09:37 +08:00
甚至觉得楼主是来黑 golang 的
vipppppp
2020-07-31 09:34:34 +08:00
@winglight2016
楼主 python 版本就是:

为什么我 a = json.dumps(data)后,不能直接往 a 添加一个新的 key-value,python 真是垃圾[狗头]
JokeFunny
2020-07-31 09:44:55 +08:00
这是来搞笑的吧
jimages
2020-07-31 09:48:07 +08:00
学习了正确的提问方法
janxin
2020-07-31 09:55:16 +08:00
@billlee SAX 风格不能处理某些合法的 JSON 格式吧,比如#55 提出来的那几种
Carlgao
2020-07-31 10:50:46 +08:00
楼主一边挨着骂一边偷笑,自己搜个锤子,这不就有解决方案了吗
bruce0
2020-07-31 11:11:16 +08:00
@pengjay 很有道理, 哈哈哈哈哈
prenwang
2020-07-31 11:19:59 +08:00
楼主你好牛
wdlth
2020-07-31 23:50:14 +08:00
建议先去把 RFC 4627 了解清楚,JSON 不一定是有 Key 的对象,可能是数组,甚至只是一个 null 或者 false,到时候你怎么插呢?
Balthild
2020-08-02 23:13:31 +08:00
提问时老老实实遵守《提问的智慧》:问题看起来很好看然而无人问津

直接抛出一个错误答案:跑出一大堆人用正确回答“教育”自己
qingsonghe
2020-08-03 20:54:38 +08:00
使用 map[interface{}]interface{}解决问题
cbasil
2020-08-13 09:24:36 +08:00
php 都需要 json_decode 将 json 转换成数组或者对象后才能修改数据,改完后再 json_encode 回去
liuyexing
2020-12-04 16:25:55 +08:00
https://github.com/tidwall/gjson
https://github.com/tidwall/sjson
这两个库难道还不能满足您的需求吗

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

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

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

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

© 2021 V2EX