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

欢迎!请参阅关于页面以了解有关此内容的一些更多信息。

0
data.json

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

示例

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

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

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

3 个答案

0
by

评论者:alex+import

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

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

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

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

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

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

我们认为这一点是开放的,因为我们仍在决定如何处理“整个输入解析”与“从流中解析JSON值”这一更广泛问题。
...