簡體   English   中英

json4s對案例類的響應

[英]json4s response to case class

我收到此json響應,如何為page_views創建Scala Case類?

"page_views": {
    "2015-12-30T21:30:00+05:30": 4,
    "2016-01-08T15:30:00+05:30": 25,
    "2016-01-13T11:30:00+05:30": 9,
    "2016-01-13T12:30:00+05:30": 8,
    "2016-01-14T10:30:00+05:30": 21,
    "2016-01-21T12:30:00+05:30": 19,
    "2016-01-21T17:30:00+05:30": 4,
    "2016-01-22T17:30:00+05:30": 2,
    "2016-02-02T10:30:00+05:30": 14,
    "2016-02-24T12:30:00+05:30": 11,
    "2016-02-26T09:30:00+05:30": 12
  },

首先定義所需的案例類。 比方說case class PageView(date:myDateType,numberViews:Long) 那么,您就不會陷入接收到的json具有顯式編寫的datenumberViews字段的基本情況,例如{"date":"xxx","numberViews":123} 因此,使用json4s不足以創建一個case類並讓其完成其余的工作,您將不得不編寫一個自定義(de)序列化器( 此處有一個示例,在頁面上搜索'Serializer')。

經過多次嘗試,我得以使其工作。 我使用Map綁定到JSON字段。

case class Test(page_views: Map[String, Int])

您可以繼續閱讀本教程該教程涵蓋如何將json字符串解析為模型。 它還涵蓋了一些常見的轉換,您可能需要應用這些轉換才能將json轉換為case類。

但您的情況有點奇怪,page_views是否不應該包含/是數組? 如果您不知道其中包含哪些字段,如何處理page_views json對象?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM