【问题标题】:JSON assign Java StringJSON 分配 Java 字符串
【发布时间】:2017-04-19 03:47:38
【问题描述】:

我的json结构是

{
    "GAME_CUSTOMIZE": {
        "GAME_CODE": "MOCK12V2.0",
        "RESULT": {
            "response": [
                {
                    "id": "PLAYER1",
                    "value": "WERYT"
                },
                {
                    "id": "PLAYER2",
                    "value": "QEWRET"
                },
                {
                    "id": "PLYAER3",
                    "value": "765422"
                }
            ]
        }
    }
}'

我的用于映射的 Pojo 对象是,

import com.fasterxml.jackson.annotation.JsonProperty;

@JsonProperty("GAME_CODE")
private String gameCode;
@JsonProperty("RESULT")
private String responseJson;

尝试将“RESULT”完整 json 分配给字符串时,从 json 转换为 Java 对象后变为空。也尝试过 JsonRawValue 注释。并尝试使用 responseJson 作为对象类型而不是字符串。我想将 RESULT Json 获取到 Java 字符串或 Object 属性。

【问题讨论】:

  • 您缺少 GAME_CUSTOMIZERESULT 的 POJO(您在对象中有一个对象)

标签: java json jackson


【解决方案1】:

JSON 对象的默认映射是LinkedHashMap<String, Object>。简单的解决方案是将responseJson 的类型更改为该类型。

映射到String(包含对象的原始 JSON 序列化)可能有意义,但我不知道它是否可以实现。映射到java.lang.Object 没有意义。

更新 - 以下问答说明了如何将对象反序列化为字符串:

【讨论】:

    猜你喜欢
    • 2017-08-10
    • 2017-01-17
    • 1970-01-01
    • 1970-01-01
    • 2017-11-28
    • 2015-11-06
    • 2021-12-22
    • 2014-05-27
    • 1970-01-01
    相关资源
    最近更新 更多