【问题标题】:Get Double from JSON structure从 JSON 结构中获取 Double
【发布时间】:2016-06-15 14:36:31
【问题描述】:

我更新了一个 JSON 库,但无法提取我想要的值。

JSON 看起来像这样:

{
  "k1": {
    "k2 : {
      "k3" : 123
    }
  }
}

以前,这是成功的:

(parse(json) \\ "k1" \\ "k2" \\ "k3").extract[Double]

成功了,现在没有了。现在我得到了例外:

org.json4s.package$MappingException: Do not know how to convert JArray(List(JInt(123))) into double

我尝试使用compact(render(parse(json) \\ "k1" \\ "k2" \\ "k3")),但这给了我字符串[123],这并不是我真正想要的。如何将值直接提取为双精度值?

【问题讨论】:

    标签: json scala json4s


    【解决方案1】:

    在这里使用\\ 访问器是不正确的,因为它递归地遍历JSON 并提取它遇到的任何"k1",产生JArray,因此出现错误。

    您应该使用仅访问 JSON 对象的一个​​直接嵌套键的 \,或者使用您的代码中的 extract[List[Double]]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-19
      • 2021-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多