首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何直接修改JsonObject / JsonArray的值?

如何直接修改JsonObject / JsonArray的值?
EN

Stack Overflow用户
提问于 2012-07-12 09:33:09
回答 6查看 125.8K关注 0票数 40

一旦我将一个JSON字符串解析成GSON提供的JsonObject类(假设我不想将它解析成任何有意义的数据对象,但严格地说我想使用JsonObject),我如何能够直接修改一个键的字段/值呢?

我看不到能帮到我的API。

https://static.javadoc.io/com.google.code.gson/gson/2.6.2/com/google/gson/JsonObject.html

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-07-12 10:01:04

奇怪的是,答案是不断添加回来的属性。我还以为会有一个setter方法。:S

代码语言:javascript
复制
System.out.println("Before: " + obj.get("DebugLogId")); // original "02352"

obj.addProperty("DebugLogId", "YYY");

System.out.println("After: " + obj.get("DebugLogId")); // now "YYY"
票数 80
EN

Stack Overflow用户

发布于 2016-11-10 15:33:16

这适用于使用JSONObject修改子键值。导入使用的是

代码语言:javascript
复制
import org.json.JSONObject;

ex json:(将json文件转换为字符串,同时作为输入)

代码语言:javascript
复制
{
    "parentkey1": "name",
    "parentkey2": {
     "childkey": "test"
    },
}

代码

代码语言:javascript
复制
JSONObject jObject  = new JSONObject(String jsoninputfileasstring);
jObject.getJSONObject("parentkey2").put("childkey","data1");
System.out.println(jObject);

输出:

代码语言:javascript
复制
{
    "parentkey1": "name",
    "parentkey2": {
     "childkey": "data1"
    },
}
票数 13
EN

Stack Overflow用户

发布于 2014-10-01 21:40:31

从2.3版Gson库开始,JsonArray类就有了一个“set”方法。

下面是一个简单的例子:

代码语言:javascript
复制
JsonArray array = new JsonArray();
array.add(new JsonPrimitive("Red"));
array.add(new JsonPrimitive("Green"));
array.add(new JsonPrimitive("Blue"));

array.remove(2);
array.set(0, new JsonPrimitive("Yelow"));
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11443928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档