【发布时间】:2013-09-08 18:21:41
【问题描述】:
我有一个 JSON 文件,我正在尝试使用 Scala 进行解析。我已经弄清楚如何使用 Scala JSON 解析库来解析 1 个这种格式的条目:
{"name":"John","number":"005","fav_colour":"blue"}
这是有效的代码:
val result = JSON.parseFull("""{"name":"John","number":"005","fav_colour":"blue"}""")
result match {
case Some(e) => println(e)
case None => println("Failed.")
}
这打印Map(name -> John, number -> 005, fav_colour -> blue)
代码基于:https://gist.github.com/takezoe/1540223
但是,我正在使用这样的文件:
""" {"name":"John","number":"005","fav_colour":"blue"} {"name":"Mary","number":"010","fav_colour":"yellow"} {"name":"Anna","number":"007","fav_colour":"pink"} {"name":"Dave","number":"003","fav_colour":"purple"}
"""
注意,我也试过用逗号分隔,但还是不行。
我只是想知道我是否必须编写一个函数来分隔每个 {bracketed entry} 或者我是否缺少 JSON 库的某些功能。到目前为止,当我传入我的文件时,它返回 None 而不是 Some(valid information)。
谢谢!
【问题讨论】:
-
我很确定这不符合 JSON 文件的条件。
-
我知道,我意识到我的文件是一堆 JSON 文件,每一行都有一个不同的文件。这是我第一次与他们合作。