Recursive case class extraction in Rapture JSON
| Welcome to Scala version 2.11.7 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_45). | |
| Type in expressions to have them evaluated. | |
| Type :help for more information. | |
| scala> import rapture.json._ | |
| import rapture.json._ | |
| scala> import jsonBackends.spray._ | |
| import jsonBackends.spray._ | |
| scala> val order = json"""{ "name": "Jon Pretty", "items": [{ "name": "Apple", "quantity": 2 }, { "name": "Turnip" }] }""" | |
| order: rapture.json.Json = {"name":"Jon Pretty","items":[{"name":"Apple","quantity":2},{"name":"Turnip"}]} | |
| scala> case class OrderItem(name: String, quantity: Int = 1) | |
| defined class OrderItem | |
| scala> case class Order(name: String, items: Vector[OrderItem]) | |
| defined class Order | |
| scala> order.as[Order] | |
| res0: Order = Order(Jon Pretty,Vector(OrderItem(Apple,2), OrderItem(Turnip,1))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment