Clojure的柴郡JSONAPI不读取整个JSON文件



我有以下格式的JSON数据:

{"load":{"meta": 12345}}
{"load":{"meta": 54321}}
...

当我尝试用Cheshire加载数据时,我只得到第一行翻译成edn:

的数据。
(def read-json-data (parse-string (slurp "data/json_data") true))
=> {:load {:meta 12345}}

这是正确的行为- cheshire/parse-string解析它能找到的第一个JSON对象。

如果你想把整个文件解析成一个JSON对象,你应该创建一个数组:

[{"load": {"meta": 12345}},
 {"load": {"meta": 54321}},
 ...]

或者,如果您想单独解析每一行,您可以这样做:

(map #(cheshire/parse-string % true)
     (line-seq (clojure.java.io/reader "data/json_data")))

(还要注意JSON中的冒号)

相关内容

  • 没有找到相关文章

最新更新