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值”这个更广泛的问题。
...