繁体   English   中英

使用Java将JSON元素附加到文件中的JSON数组

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM