Last active
July 8, 2021 06:27
-
-
Save virtualsafety/86bb54ad413c8598ac6d799155ddd1f7 to your computer and use it in GitHub Desktop.
利用json4s解析json数据
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import org.json4s._ | |
import org.json4s.jackson.JsonMethods._ | |
object ScalaJson { | |
def main(args: Array[String]): Unit = { | |
implicit val formats = DefaultFormats | |
case class Model(hello: String, age: Int) | |
val rawJson = """{"hello": "world", "age": 42}""" | |
val m1 = parse(rawJson).extract[Model] | |
println(m1) | |
println(m1.hello) | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
`scala> import org.json4s._
scala> import org.json4s.jackson.JsonMethods._
scala> implicit val formats: Formats = DefaultFormats // Brings in default date formats etc.
scala> case class Child(name: String, age: Int, birthdate: Option[java.util.Date])
scala> case class Address(street: String, city: String)
scala> case class Person(name: String, address: Address, children: List[Child])
scala> val json = parse("""
{ "name": "joe",
"address": {
"street": "Bulevard",
"city": "Helsinki"
},
"children": [
{
"name": "Mary",
"age": 5,
"birthdate": "2004-09-04T18:06:22Z"
},
{
"name": "Mazy",
"age": 3
}
]
}
""")
scala> json.extract[Person]
res0: Person = Person(joe,Address(Bulevard,Helsinki),List(Child(Mary,5,Some(Sat Sep 04 18:06:22 EEST 2004)), Child(Mazy,3,None)))
scala> val addressJson = json \ "address" // Extract address object
scala> addressJson.extract[Address]
res1: Address = Address(Bulevard,Helsinki)
scala> (json \ "children").extract[List[Child]] // Extract list of objects
res2: List[Child] = List(Child(Mary,5,Some(Sat Sep 04 23:36:22 IST 2004)), Child(Mazy,3,None))`