比如,给定以下JSON字符串:
[{"id": "user1", "password": "ps1"},{"id": "user2", "password": "ps2"},{"id": "user3", "password": "ps3"}]
什么是在Scala中解析它并遍历每个结果并适当分析它的最佳和最优化方法?
谢谢。
import net.liftweb.json.JsonParser._ import net.liftweb.json.DefaultFormats这里有详细的解释:http://www.assembla.com/spaces/liftweb/wiki/JSON_Support
val jsonString = //你的jsonString....
case class Credential (id:String, password:String)
implicit val formats = DefaultFormats val credentials = parse(jsonString).extract[List[Credential]]
credentials foreach { cred => println(cred.id + " " + cred.password) }
https://github.com/lift/lift/blob/master/framework/lift-base/lift-json/README.md
。使用 LINQ :) - José P. Airosa除了lift-json和上面提到的类型类方法,我还知道spray-json(PEG解析器)、twitter的json库(基于《Scala编程》一书中的代码)以及blueeyes中的json库。当然还有其他的!
我建议看一下Jackson,它是一个成熟且功能丰富的Java JSON解析库。
Jackson有一个“官方”的scala扩展:jackson-module-scala,还有另一个Jerkson。
该框架中有一个使用解析器组合器构建的JSON解析库:http://www.scala-lang.org/api/current/scala/util/parsing/json/package.html
Odersky和Venners在他们的书中逐步介绍了它,是最后几章之一。