我想修改json内容而不将其转换为POJO.我正在使用GSON Library.
以下是用例:
String jsonString = "[{\"key1\":\"Hello\",\"key2\":\"World\"},{\"key1\":\"Nice\",\"key2\":\"Town\"}]";
JsonElement jsonElement = gson.fromJson(jsonString, JsonElement.class);
Run Code Online (Sandbox Code Playgroud)
有没有什么方法可以将key1的值设置为每个数组中的某个值(比如说"Test"),而无需将事物转换为POJO
这是我想出的最短的.
JsonElement je = new Gson().fromJson(jsonString, JsonElement.class);
JsonObject jo = je.getAsJsonObject();
jo.add("key", value);
Run Code Online (Sandbox Code Playgroud)
一旦你有了JsonObject,gson就有很多方法来操作它.
一种方法是将 JSON 转换为 a java.util.Map,修改 Map,然后从那里开始(这可能意味着将 Map 序列化回 JSON)。
这种方法符合我的偏好,即使用正确的 API 来完成正确的工作,最大限度地减少使用 Gson 等工具来处理序列化/反序列化(我理解这是它的设计目的)。也就是说,不要使用 Gson API 作为替代数据结构。
| 归档时间: |
|
| 查看次数: |
19920 次 |
| 最近记录: |