【问题标题】:Parse same key but with different values to a data class in kotlin将相同的键解析为 kotlin 中的数据类但具有不同的值
【发布时间】:2021-02-23 14:14:01
【问题描述】:

我正在使用第三方服务进行 API 实现,但我从该 API 获得的响应不一致,它具有相同的键但该键的值不同,我无法解析它,我用 Any 进行了尝试,但无法从键中访问值,所以如果有人实现了这一点或可以提出建议,那么这将是一个很大的帮助,在此先感谢。 例如,这是我的 JSON 对象响应

 "data": [
              {
                "values": [
                  0.0,
                  0.2
                ],
                "type": "A"
              },
              {
                "values": [
                  [
                    [
                      -0.2,
                      5.4
                    ],
                    [
                      -0.2,
                      5.5
                    ],
                    [
                      0.3,
                      56.4
                    ],
                    [
                      0.5,
                      6.4
                    ]
                  ]
                ],
                "type": "P",
                "other": {
                  "type": "n",
                  "properties": {
                    "name": "u"
                  }
                }
              }
            ],

以上是我获得响应的方式,但我无法找到在数据类中解析它的正确方法。

【问题讨论】:

    标签: android json api kotlin data-class


    【解决方案1】:

    使用 Jackson 框架。

    val objectMapper = ObjectMapper()
    val treeNode = objectMapper.readTree("your_json_in_string")
    

    treeNode 是一个 JsonNode,其中包含您的 json 树。
    见:jackson framework

    【讨论】:

    • 这是响应的一部分,我正在将响应传递给主数据类@thorny
    • 如果响应是动态的,您不能将它插入给定的类,因为它总是变化的。这就是为什么你需要一个树结构
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-18
    • 2017-03-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多