我有以下格式的JSON数据:
{"load":{"meta": 12345}}
{"load":{"meta": 54321}}
...
Run Code Online (Sandbox Code Playgroud)
当我尝试使用Cheshire加载数据时,我只返回转换为edn的第一行数据:
(def read-json-data (parse-string (slurp "data/json_data") true))
=> {:load {:meta 12345}}
Run Code Online (Sandbox Code Playgroud)
如果有人来到这里并且可以帮助展示如何阅读整个文件将非常感激.
这是正确的行为 - cheshire/parse-string解析它可以找到的第一个JSON对象.
如果您希望将整个文件解析为单个JSON对象,则应该创建一个数组:
[{"load": {"meta": 12345}},
{"load": {"meta": 54321}},
...]
Run Code Online (Sandbox Code Playgroud)
或者,如果要分别解析每一行,可以执行以下操作:
(map #(cheshire/parse-string % true)
(line-seq (clojure.java.io/reader "data/json_data")))
Run Code Online (Sandbox Code Playgroud)
(另外,请注意JSON中的冒号.)
| 归档时间: |
|
| 查看次数: |
627 次 |
| 最近记录: |