2024 年 Clojure 状态调查! 中分享您的想法。

欢迎!有关如何操作的更多信息,请参阅 关于 页面。

0
ClojureScript

我已经用 :json 写入器写了很多数据,但我正在考虑切换到 `:json-verbose 写入器,这样我会在两种格式中都有 JSON。`:json 读取器似乎可以很好地处理 `:json-verbose` 写入,但我只是想确认一下。

2 答案

+2

是的,它在规范中。根据 https://github.com/cognitect/transit-format,

请注意,JSON 有两种写入模式。在正常 JSON 模式下,
启用了缓存(以下将解释),并将映射表示为
具有特殊标记元素的数组。还有一个 JSON-Verbose 模式,
效率较低,但更容易阅读。在
JSON-Verbose 模式下,禁用了缓存,并将映射表示为
JSON 对象。这适用于配置文件、调试或
任何其他比性能更重要可读性更重要的情况。
期望 JSON 读取器能够透明地处理
以任何模式编写的
数据,并且对该数据使用哪种模式毫不知情。

(我的强调)

0
by

也许吧,但是我还是要小心。

这个表格看起来可能至少有一些差异。

https://github.com/cognitect/transit-format#ground-and-extension-types

特别是那些有“扩展”和“时间点”的行看起来可能有点问题。

by
谢谢你的提醒,Harold,

我无论怎样都在使用自定义处理程序来处理日期和时间,所以我认为这不应该对我的数据造成问题。
by
当然。在我看来,这是一次自动测试的绝佳案例。可以想象这样一个系统,它会自动写入这两种格式并在各种方式下读取它们,以确保该功能的持续可用性(如果它真的是必要的)。定义一组代表性文档也有助于,当你不可避免地出错时,你可以识别回归以发现你所没料到的事情,随着时间的推移增加文档/测试集以改进覆盖率。祝你好运。
...