我正在尝试将以下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]
)
}
如果无法预测expectedTypes
中将有多少个字段,则可以使用Map
:
case class Root(
filepattern: String,
replaceheader: Option[String],
dataType: List[DataType]
)
case class DataType(
expectedTypes: Map[String, String]
)