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

欢迎!请参阅关于页面以获取有关操作方式的更多信息。

0
data.json

数字字面量的处理不符合 JSON 规范。

示例

(require '[clojure.data.json :as json]) (json/read-str "123abc")

返回数字 1232。根据规范,这实际上应该是一个无效的字面量并抛出异常

!http://json.org/number.gif!

3 个答案

0

评论者为:alex+import

(我假设描述中有一个拼写错误 - 返回 123,而不是 1232)

这不仅仅是字面量值,任何输入末尾的非空白字符都将被静默忽略并应该被拒绝

(json/read-str "{}xxx") => {} (json/read-str "[]yyy") => [] (json/read-str "\"\"zzz") => ""

注意:此行为与文档字符串("从 ... 读取单个 JSON 数据项")一致。

0
参考:https://clojure.atlassian.net/browse/DJSON-21 (由 alex+import 报告)
0

即使在JIRA问题未更新的情况下,2.4.0版本也会抛出异常。其他数据类型仍然允许额外的输入,如文档字符串所述。

by
我认为我们之所以留下了这个问题,是因为我们还在决定如何处理更广泛的问题,即“解析整个输入”与“从流中解析JSON值”。
欢迎来到Clojure问答社区,您可以在这里提问并获得Clojure社区成员的解答。
...