2017-04-21 12 views
0

私はjsonで内部オブジェクトを読み取ろうとしています。この内側のオブジェクトをそのままMongoに挿入する必要があります。Circeで内部オブジェクトを読み取る

{ 
    "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 
    } 
} 
+0

どのような内部オブジェクトを参照していますか? – mfirry

+0

はい、申し訳ありません。この例では、それは顧客または商品です – FranGoitia

+0

待機...これはcirce opticsのドキュメントページの例ですか? – mfirry

答えて

0

元の例に基づいて、Decoderを公開します。私は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] 
) 
} 
関連する問題