当前位置: 首页 > 知识库问答 >
问题:

javax.json:将新的JsonNumber添加到现有的JsonObject中

闾丘康安
2023-03-14
JsonObject jo = ....;
jo.put("booleanProperty", JsonValue.TRUE);
JsonObjectBuilder job = Json.createObjectBuilder();
JsonNumber jn = job.add("number", 42).build().getJsonNumber("number");
jo.put("numberProperty", jn);

共有1个答案

齐典
2023-03-14

好吧,我自己才明白:你不能。

JSONObject应该是不可变的。即使jsonobject.put(key,value)存在,在运行时这也会引发unsupportedoperationexception。因此,如果希望向现有的JSONObject添加键/值对,则需要如下内容

private JsonObjectBuilder jsonObjectToBuilder(JsonObject jo) {
    JsonObjectBuilder job = Json.createObjectBuilder();

    for (Entry<String, JsonValue> entry : jo.entrySet()) {
        job.add(entry.getKey(), entry.getValue());
    }

    return job;
}

然后将其与

JsonObject jo = ...;
jo = jsonObjectToBuilder(jo).add("numberProperty", 42).build();
 类似资料:
  • 问题内容: 我想向的现有实例添加属性。如果此属性为,则非常简单: 但是,我也想添加一个,但找不到创建的实例的方法。这是我可以做的: 但是我想不出一种更肮脏的方式来完成任务。那么-是否有更直接,更简洁的方法向现有实例添加? 问题答案: 好吧,我自己弄清楚了: 你不能 。 应该是一成不变的。即使存在,在运行时也会抛出。因此,如果您想向现有资产添加键/值对,则需要类似 然后与

  • 问题内容: 我今天在这个主题上搜索了很多。但是我找不到它,如何将JSONArray添加到JSONObject? 因为每次执行此操作都会收到此错误:Stackoverflow 我收到此错误: 我想要的JSON:只有最后一个JsonArray出问题了: ,“ vloer”:[{formaat:’vierkant10x15’tegels:[{naam:’‘,imgThumb:’/bla/bla.png’

  • 问题内容: 我试图弄清楚如何将以下数据添加到我的json对象。有人可以告诉我该怎么做。 网站范例 我的JSONObject需要合并以上示例。 问题答案: 为了得到这个结果: 拥有与以下相同的数据: 您可以使用以下代码:

  • 问题内容: 这是我的第一篇文章。作为一名崭新的Android开发人员,我几乎每天都阅读有关各种主题的SO帖子,但是对于这个问题,我没有从Google或SO那里获得任何帮助。 到目前为止,我的研究是: 搜索这个问题比平常要困难,因为搜索引擎似乎并不关心区分大小写,这在此问题中至关重要。搜索Google只会给我指向类本身,旧文章或完全不相关的文章的链接。我得到的最接近的是JSONArray vsJSO

  • 我正在尝试向PDF文档的第一页添加一些内容。这样做的合适方式是什么? 目前,我的代码可以工作,但它会在文档的第一页之前添加(插入)一个新页面。这里可以用什么来代替 因此,我正在阅读的文档中的内容将作为内容而不是新页面添加到现有的第一页

  • 问题内容: // JSON object to hold the information, which is sent to the server JSONObject jsonObjSend = new JSONObject(); jsonObjSend.put(“action”, “myAction”); jsonObjSend.put(“type”, tipo); 目前一切正常,但如果我想添