目前我在文件(name.json)中有以下json数组对象。
[{
"name":"ray",
"value":"1"
},
]
现在我想使用java在文件的这个Json数组中再添加一个元素。像这样:
[{
"name":"ray",
"value":"1"
},
{
"name":"john",
"value":"2"
}
]
一种方法是从文件中读取整个数组,将一个元素附加到该数组并将其写回java中的json文件。但这绝对不是完成这项任务的最佳方式。任何人都可以建议任何其他方式吗?
答案 0 :(得分:2)
试试这个:
1 - 创建具有读/写权限(“rw”);
的RandomAccessFile对象RandomAccessFile randomAccessFile = new RandomAccessFile("/path/to/file.json", "rw");
2 - 将文件光标设置为char“]”
的位置long pos = randomAccessFile.length();
while (randomAccessFile.length() > 0) {
pos--;
randomAccessFile.seek(pos);
if (randomAccessFile.readByte() == ']') {
randomAccessFile.seek(pos);
break;
}
}
3 - 写一个逗号(如果不是第一个元素),新的json元素和char“]”
String jsonElement = "{ ... }";
randomAccessFile.writeBytes("," + jsonElement + "]");
4 - 关闭文件
randomAccessFile.close();