欢迎!请参阅关于页面以了解有关此内容的一些更多信息。
数字字面量的处理并不符合JSON规范。
示例
(require '[clojure.data.json :as json]) (json/read-str "123abc")
返回数字1232。根据规范,这实际上应该是一个非法字面量,并抛出异常
!http://json.org/number.gif!
评论者:alex+import
(我假设描述中有一个打字错误 - 应返回123,而不是1232)
不仅仅是字面量,任何输入末尾的非空白字符都被静默忽略,应该被拒绝
(json/read-str "{}xxx") => {} (json/read-str "[]yyy") => [] (json/read-str "\"\"zzz") => "")
注意:该行为与文档字符串("从...读取JSON数据的单个项目")一致。
即使在JIRA问题没有更新的情况下,此版本也抛出了异常(2.4.0),其他数据类型仍允许额外输入,如文档字符串中所述。