[英]Gson to append json object within an array in a json file in java
[英]Append JSON element to JSON array in file using Java
目前,我在文件(name.json)中具有以下json数组对象。
[{
"name":"ray",
"value":"1"
},
]
现在,我想使用java在文件的此Json数组中添加一个元素。 像这样:
[{
"name":"ray",
"value":"1"
},
{
"name":"john",
"value":"2"
}
]
一种方法是从文件读取整个数组,将元素添加到该数组,然后将其写回到Java中的json文件中。 但这绝对不是执行此任务的最佳方法。 有人可以建议其他方法吗?
尝试这个:
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();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.