未来会有什么格式会淘汰 json 吗?

2021-08-06 13:12:39 +08:00
 find456789

我个人感觉 json 有一个很大的弊端就是 里面不能写注释

有时候想给 package.json 加注释,不好加

6182 次点击
所在节点    问与答
63 条回复
binaryify
2021-08-06 16:49:24 +08:00
jsonc 了解下
Vegetable
2021-08-06 16:54:31 +08:00
淘汰 json 和淘汰 package.json 是两回事
suzic
2021-08-06 17:09:59 +08:00
json 就不适合当配置用
chenqh
2021-08-06 17:16:13 +08:00
@ipwx 缩进还是可怕的,因为肉眼看不出来 tab 和空格的区别
CodeCodeStudy
2021-08-06 17:35:51 +08:00
@ipwx 复制粘贴容易搞错
ipwx
2021-08-06 17:54:36 +08:00
@chenqh 呃,绝对不用 tab 不就行了么。。。。这是铁律,无论什么时候都不用 tab 。
gamexg
2021-08-06 18:08:26 +08:00
在可以选择时,
我一直用 toml 做配置文件格式,觉得比 yaml 好用。
jaon5 支持注释,共享配置时也挺方便。
linqin003707
2021-08-06 18:09:14 +08:00
protobuf
Trim21
2021-08-06 18:10:04 +08:00
淘汰 json 作为配置文件
Building
2021-08-06 18:25:27 +08:00
用 key-value 作为注释不就有注释了吗?
chenqh
2021-08-06 18:25:46 +08:00
@ipwx 一不小心就用了, 我之前被这个 tab 卡了好久,
Kaciras
2021-08-06 18:26:14 +08:00
JSON 同时具备可读性和高信息密度,即能传输也能写配置,一会还真想不出来其它哪个能做到的。
jim9606
2021-08-06 18:32:19 +08:00
淘汰是不可能的,xml 都还活得好好的。注释的话 json5 是无痛解决方案,顺带解决手撸 json 总少了引号逗号导致出错的烦恼。

json 好就好在稍微新点的编程语言都直接在标准库包含 json 实现了,省去外部依赖的麻烦。
uselessVisitor
2021-08-06 18:45:27 +08:00
数据传输的还是 json 格式比较好,配置文件的话看什么类型了,像版本这种的还是 JSON/XML 处理的好一些,配置文件的话可以 yml
Cbdy
2021-08-06 19:41:19 +08:00
没有了,JSON 是完美的格式
billlee
2021-08-06 21:03:25 +08:00
感觉不可能了。细分领域可以有更先进的格式,但 JSON 会是那个默认选择。
12101111
2021-08-06 21:08:57 +08:00
toml 是标准化的 ini, 是用来做手写的配置文件的
json 还是更接近机器读的东西, 但是偶尔又会有人来看一看. 看的人多了就应该选 toml, 真的没人看那就二进制格式得了.
namelosw
2021-08-06 21:16:29 +08:00
比 JSON 复杂的,似乎都没啥必要,比如 XML

比 JSON 看着简单的,比如 YAML,parse 起来都麻烦

这些年看到有点意义的,可能就是 EDN 之类的。JSON 的类型写死了就那几种,比如 date,或者 set 之类的就不好指定消费者用什么 parser,然后就只能把类型写在数据里,EDN 就是可以制定一些额外的类型,然后请求的接收方可以针对可能出现的类型统一写 parser,比如日期或者 UUID 之类的,这样就少了很多手动转换的胶水代码。
3dwelcome
2021-08-06 21:23:25 +08:00
@namelosw json 最大问题是逗号,你看别的 yml 和 toml 两个格式都没有逗号,都是用换行直接语义分割,就 json 有。
airyland
2021-08-06 21:25:45 +08:00
var a = {
"a": "这是同字段注释",
"a": "a"
}

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

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

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

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

© 2021 V2EX