Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 用Circe读取内部对象_Scala_Circe - Fatal编程技术网

Scala 用Circe读取内部对象

Scala 用Circe读取内部对象,scala,circe,Scala,Circe,我试图读取接收到的json中的内部对象。我需要得到这个内部对象,并将其插入Mongo { "order" : { "customer" : { "name" : "Custy McCustomer", "contactDetails" : { "address" : "1 Fake Street, London, England", "phone" : "0123-456-789" } }, "ite

我试图读取接收到的json中的内部对象。我需要得到这个内部对象,并将其插入Mongo

{
  "order" : {
    "customer" : {
      "name" : "Custy McCustomer",
      "contactDetails" : {
        "address" : "1 Fake Street, London, England",
        "phone" : "0123-456-789"
      }
    },
    "items" : [
      {
        "id" : 123,
        "description" : "banana",
        "quantity" : 1
      },
      {
        "id" : 456,
        "description" : "apple",
        "quantity" : 2
      }
    ],
    "total" : 123.45
  }
}

根据最初的示例,您将推出一个解码器。我不是circe专家,我昨天才第一次使用它,但我认为downField应该有用

case class Item(id: String, description: String, quantity: Int)
case class InnerObject(items: List[Item])

object InnerObject {
  implicit val decode: Decoder[InnerObject] = Decoder.instance(c =>
    c.downField("items").as[InnerObject]
  )
}

你指的是什么内在物体?是的,对不起。在本例中,它将是customer或itemsWait。。。这是circe光学文档页面上的示例?是的。显然,我必须用另一个json来实现这一点,但这是同一个问题。