我从文件中读取了一个JSON数组,但我想在数组中添加其他条目。我将如何使用javax.json库进行此操作?
private String getJson(FileInputStream fis) throws IOException {
JsonReader jsonReader = Json.createReader(fis);
// Place where I'd like to get more entries.
String temp = jsonReader.readArray().toString();
jsonReader.close();
fis.close();
return temp;
}
预览文件的JSON格式:
[
{"imgOne": "test2.png", "imgTwo": "test1.png", "score": 123123.1},
{"imgOne": "test2.png", "imgTwo": "test1.png", "score": 1234533.1}
]
答案 0 :(得分:1)
简短的回答是,你不能。 JsonArray
(和其他值类型)意味着不可变。 javadoc陈述
JsonArray
表示一个不可变的JSON数组(一个有序的序列) 零个或多个值)。它还提供了一个不可修改的列表视图 数组中的值。
很长的答案是通过复制旧的{和{I}}对象来创建一个新的JsonArray
对象。
例如
// Place where I'd like to get more entries.
JsonArray oldArray = jsonReader.readArray();
// new array builder
JsonArrayBuilder builder = Json.createArrayBuilder();
// copy over old values
for (JsonValue value : oldArray) {
builder.add(value);
}
// add new values
builder.add("new string value");
// done
JsonArray newArray = builder.build();