【问题标题】:I want to deserialize a json object in scala [closed]我想在scala中反序列化一个json对象[关闭]
【发布时间】:2021-08-20 09:14:55
【问题描述】:
    {
      "columnreq": [
        {
          "column": "date",
          "datatype": "string"
        },
        {"column": "name",
          "datatype": "int"
        }
      ],
      "databaseName": "test",
      "sourceTableName": "department"
    }

我想使用 jackson 读取值,并在列表或映射中以变量名称为 columndatatype 的单个变量中获取 columndatatype 的值。

【问题讨论】:

  • 这方面有很多文档。你试过什么?你有什么具体问题?

标签: scala jackson json-serialization


【解决方案1】:

Json 序列化库总是选择 : 之前的名称作为变量名,并选择 : 之后的任何内容作为它的值。

你可以写:

case class Column (column: String, dataType: String)

case class MyContainer(columnReq: List[Column], databaseName: String, sourceTableName: String)

或者如果你想在这样写之后进一步处理它, 你可以写:

val container: MyContainer = parseJson(myJsonString) 

case class ModifiedContainer(Map[String, String], databaseName: String, sourceTableName: String)

ModifiedContainer(
   container.columnReq.map(column => (column.column, column.dataType)).toMap,
 container.databaseName,
 container.sourceTableName
)

【讨论】:

    猜你喜欢
    • 2018-10-03
    • 2022-12-14
    • 2016-09-05
    • 2023-03-30
    • 2017-08-02
    • 2011-12-19
    • 2014-07-24
    • 2021-12-27
    • 2016-10-30
    相关资源
    最近更新 更多