【问题标题】:Parsing JSON in Scala using ScalaObjectMapper使用 ScalaObjectMapper 在 Scala 中解析 JSON
【发布时间】:2018-04-03 01:47:46
【问题描述】:

我正在尝试使用案例类解析 json,但遇到了问题。

我有以下 json

{
 "general": {
    "table": "123",
 },

 "employee" : {
    "table": "employee_data"
 },

 "fulltime" : {
    "table": "fulltime_employee_data"
 },

 "consultant" : {
    "table": "consultant_employee_data"
 } 
}

这是我的案例类:

case class EmployeeInfo(employees: List[Map[String, String]])

我正在尝试使用以下代码使用案例类解析上述 json。它将对象返回为 null。

val mapper = new ObjectMapper() with ScalaObjectMapper
mapper.registerModule(new JavaTimeModule())
mapper.registerModule(DefaultScalaModule)
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
val str = Source.fromFile("employeeInfo.json").mkString
val temp = mapper.readValue[EmployeeInfo](str)

这里的 temp 被返回为 null。我的 json 似乎是我在案例类中提供的地图列表。对我缺少的东西有什么想法吗?

【问题讨论】:

    标签: scala jackson objectmapper


    【解决方案1】:

    我想通了。我的案例类需要 json.xml 中定义的变量名。

    case class EmployeeInfo(general: TableDetails, employee: TableDetails, fulltime: TableDetails, consultant: TableDetails)
    
    class TableDetails {
    
    val table: String = "" 
    
    //getter and setter for table field
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-11
      • 1970-01-01
      • 2021-09-28
      • 1970-01-01
      • 2011-05-09
      • 1970-01-01
      • 2023-03-16
      相关资源
      最近更新 更多