scala案例类的json

问题描述 投票:0回答:1

我正在尝试将以下json读入scala case类。我能够使用json4s将case类绑定到json。

问题在于,对于每个表,期望类型都会改变。元素的数量可能更多或更少,并且名称会有所不同。如何为此要求创建案例类?

 {


     "filepattern": "product*.gzip",
      "replaceheader": "productid,name,market",
      "dataType": [
        {
          "expectedTypes": {
            "productId": "DOUBLE",
            "name": "STRING"
          }
        }
      ]

case class ExpectedTypes(
  productid: String,
  name: String
)
case class DataType(
  expectedTypes: ExpectedTypes
)
case class table(
  filepattern: String,
  replaceheader: Option[String],
  dataType: List[DataType]
)
    }
scala json4s
1个回答
0
投票

如果无法预测expectedTypes中将有多少个字段,则可以使用Map

case class Root(
filepattern: String,
replaceheader: Option[String],
dataType: List[DataType]
)

case class DataType(
  expectedTypes: Map[String, String]
)
© www.soinside.com 2019 - 2024. All rights reserved.