json 到 scala 案例 class
json to scala case class
我正在尝试将下面的 json 读入 scala 案例 class。我可以使用 json4s 将大小写 class 绑定到 json。
问题是每个 table 的 expectedTypes 都会改变。它可以是更多或更少的元素数量,并且名称会有所不同。如何为此需求创建案例 class?
{
"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]
)
我正在尝试将下面的 json 读入 scala 案例 class。我可以使用 json4s 将大小写 class 绑定到 json。
问题是每个 table 的 expectedTypes 都会改变。它可以是更多或更少的元素数量,并且名称会有所不同。如何为此需求创建案例 class?
{
"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]
)