在使用 Vert.x 时,为了操作 JSON,我使用的是 JSON 指针。最近遇到了必须对 JSON 数组做同样的事情。
这是我尝试过的示例代码。
String jsonInput = "{\"string\":\"string\",\"json\":{\"items\":[\"item-1\",\"item-2\",\"item-3\"]}}";
JsonObject json = new JsonObject(jsonInput);
JsonPointer pointer = JsonPointer.from("/json/items/0");
System.out.println(pointer.writeJson(json,"new item"));
将此视为输入
{
"string": "string",
"json": {
"items": [
"item-1",
"item-2",
"item-3"
]
}
}
指向的指针item-1
是/json/items/0
. 当我对 Vert.x 中的 JsonPointer 使用相同的而不是替换现有项目时,它最终会添加另一个元素而不是像下面那样在索引零处写入
{
"string": "string",
"json": {
"items": [
"<newly-written-item>"
"item-1",
"item-2",
"item-3"
]
}
}
是否可以覆盖现有值而不是在索引处添加?