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

时间:2014-10-08 05:49:33

标签: java json

目前我在文件(name.json)中有以下json数组对象。

[{
  "name":"ray",
  "value":"1"
 },
]

现在我想使用java在文件的这个Json数组中再添加一个元素。像这样:

[{
  "name":"ray",
  "value":"1"
 },
 {
  "name":"john",
  "value":"2"
 }
]

一种方法是从文件中读取整个数组,将一个元素附加到该数组并将其写回java中的json文件。但这绝对不是完成这项任务的最佳方式。任何人都可以建议任何其他方式吗?

1 个答案:

答案 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();