在运行时将JSON对象的JSON字符串覆盖到JSON对象

k_b

我在我的项目中使用REST模板使用REST Web服务,该模板返回JSON,如下所示:

{"data": [{
        "id": "INT-1468819244684-event-no-97",
        "object1": {
            "JSONString": "{\"object2\":[{\"object3\":\"value3\",\"object4\":\"value4\"}]}"
        }
    }]

}

使用上述JSON响应时,我可以创建一个bean类,并可以将JSON对象/值转储到相同的类中。

但是问题出在json响应上面,它包含一个字符串,如下所示:

"JSONString": "{\"object2\":[{\"object3\":\"value3\",\"object4\":\"value4\"}]}"

这实际上是一个json。所以我有一个可以在其中获取JSONString作为String的bean。因此,目前我可以使用下面的bean结构来获取对象的响应:

public class response {
Data data;
}

public class Data {
String id;
Object1 object1;
}

public class Object1 {
String jsonString;
}

但是上面的jsonString包含一个json形式的字符串,因此我想以某种方式仅在创建其他对象并将其所有内容转储到同一个bean中时,在运行时将此JSON字符串转换为JSON对象,以便应用程序可以随时使用它的内容。因此,理想情况下,我的bean层次结构应如下所示:

public class response {
Data data;
}

public class Data {
String id;
Object1 object1;
}


public class Object1 {
JSONString jsonString;
}

public class JSONString {
Object2 object2;
}

public class Object2 {
String object3;
String object4;
}

请指导我如何做同样的事情。

陈瑞克

您可以通过以下方式使用Jackson的ObjectMapper.readValue:

// Create or use your existing ObjectMapper
ObjectMapper om = new ObjectMapper();

@JsonProperty("JSONString")
public String getJSONString() {
    if (this.jsonString == null)
        return null;
    return om.writeValueAsString(this.jsonString);
}

public void setJSONString(String s) {
    this.jsonString = om.readValue(s, JSONString.class);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在运行时从JSON对象提取值

来自分类Dev

日期将字符串嵌入到json对象

来自分类Dev

JSON字符串到对象列表

来自分类Dev

隐藏字符串到JSON对象

来自分类Dev

如何在运行时将用户提供的字符串映射到对象属性?

来自分类Dev

如何在运行时将Java自定义或字符串对象添加到DAO模型对象?

来自分类Dev

JSON字符串到Java中的JSON对象

来自分类Dev

当响应在运行时可以是数组或对象时,请结合JSON解码管道

来自分类Dev

如何选择在运行时为JSON对象序列化的属性?

来自分类Dev

将JSON查询字符串解析为JSON对象

来自分类Dev

将JSON查询字符串解析为JSON对象

来自分类Dev

javascript将JSON字符串转换为JSON对象

来自分类Dev

无法将 json 字符串转换为 json 对象

来自分类Dev

Spring - 将 JSON 字符串转换为 JSON 对象

来自分类Dev

json字符串转json对象

来自分类Dev

在运行时加载JSON文件

来自分类Dev

在运行时加载JSON文件

来自分类Dev

如何在运行时将字符串数组存储到单个应用程序设置属性?

来自分类Dev

JavaScript对象(JSON)到URL字符串格式

来自分类Dev

JSON数组对象到字符串逻辑

来自分类Dev

Json字符串到Java对象Avro

来自分类Dev

JavaScript对象(JSON)到URL字符串格式

来自分类Dev

字符串数组到JSON对象数组

来自分类Dev

json字符串到java对象以填充微调框

来自分类Dev

c#从json字符串到对象

来自分类Dev

JSON字符串到C#中的DataTable对象

来自分类Dev

获取json对象的选定值到字符串

来自分类Dev

javascript 字符串数组到 json 对象

来自分类Dev

JSON 对象数组到单个字符串