使用lift json 库。将此添加到您的build.sbt:
"net.liftweb" %% "lift-json-scalaz" % "3.0-M1"
然后在你的代码中例如:
import net.liftweb.json._
import net.liftweb.json.DefaultFormats
object test {
def main(args: Array[String]) {
//This is used to map the JSON string to a object in Scala. The constructor parameters have to match the keys in the JSON object.
case class PersonObject (name: String, Age: String)
implicit val formats = DefaultFormats
val jsonString = """ { "name":"Bob", "Age":"14" } """
val parsedJson = parse(jsonString)
val extractedInJsonObject = parsedJson.extract[PersonObject]
val name = extractedInJsonObject.name
}
}
如果您想使用 lift JSON 库,这是上面的示例。要查找更多信息,请查看此文档:
https://github.com/lift/lift/tree/master/framework/lift-base/lift-json
这部分文档可能对您有用:
https://github.com/lift/lift/tree/master/framework/lift-base/lift-json#extracting-values
如果您的 JSON 有嵌套对象:
{
"name" : "Bob",
"age": "15",
"address" : {
"street" : "miller avenue",
"city" : "San Francisco"
}
}
那么你的案例类应该是这样的:
case class Address(street: String, city: String)
case class Person(name: String, age: String, address: Address)
通常你必须使用一个你真的没有其他选择的案例类。如果您确实找到了其他方法,请告诉我!