gpt4 book ai didi

java - 如何将数组追加到已经有数组的json文件中?

转载 作者:行者123 更新时间:2023-12-01 09:30:01 27 4
gpt4 key购买 nike

我有一个 name.json 文件,其中包含:

[
{"name" : "James",
"Surname" : "Bond"
},
{
"name" : "Abc",
"Surname" : "Xyz"
}]

现在我想向这个现有文件添加另一个数组:

 [
{"name" : "Brad",
"Surname" : "Pitt"
},
{
"name" : "Angelina ",
"Surname" : "Jolie "
}
]

结果应如下所示:

 [
{"name" : "James",
"Surname" : "Bond"
},
{
"name" : "Abc",
"Surname" : "Xyz"
},
{"name" : "Brad",
"Surname" : "Pitt"
},
{
"name" : "Angelina ",
"Surname" : "Jolie "
}
]

但我的结果如下:

[
{"name" : "James",
"Surname" : "Bond"
},
{
"name" : "Abc",
"Surname" : "Xyz"
}]
[
{"name" : "Brad",
"Surname" : "Pitt"
},
{
"name" : "Angelina ",
"Surname" : "Jolie "
}
]

如何解决这个问题?

我正在将数据附加到这样的文件中。

void writeJson(JSONArray jsonDataObject){
ObjectMapper mapper = new ObjectMapper();
ObjectWriter writer = mapper.writer(new DefaultPrettyPrinter());
writer.writeValue(new File("/home/cp/name.json"), jsonDataObject);
}

最佳答案

这里的一种合理方式:

  1. 使用任何大量的 JSON 解析器来读取 JSON 文件
  2. 这将导致该数组在内存中的表示
  3. 向该数组添加其他元素
  4. 使用另一个库将全部内容写入到新文件中

编辑;鉴于您对巨大数量的评论:

好吧,那么我会考虑分发整个处理过程。

除此之外,我还会研究您的总体要求:

A) 为什么你的数据会这样显示?如果您知道内容应该放入 one JSON 数组中;你不能改变你的“输入处理”来立即构建那个东西吗?

B) 或者反过来 - 你不能改变你的“后续”流程来了解数据不是在一个文件中,而是在多个 JSON 数组文件中吗?

换句话说:您的要求似乎是“所有记录必须位于一个 JSON 数组(文件)内”。您不能将其更改为:“记录以 JSON 数组(文件)形式出现;并且有一个列表来跟踪所有这些数组文件及其顺序?!

关于java - 如何将数组追加到已经有数组的json文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39514050/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com