编辑.json文件:在文件的某些部分添加行?

时间:2013-10-17 17:41:54

标签: java json

我正在尝试使用代码或脚本编辑“.json”文件以附加到安装程序。

我需要在几行中添加.json配置文件,但我没有找到任何代码或在线教程如何执行此操作。

我试图寻找将行添加到普通.txt文件的方法,但也没有运气。

我在网上发现的内容正在追加,但这不是我需要的。

也许有办法搜索文件的某个点来移动指针然后添加行?

我知道一点Java但没有其他编码语言。

有没有办法在Java或一些小脚本中执行此操作?

3 个答案:

答案 0 :(得分:1)

是的,有办法。这里有一些伪代码可以为您提供概念。

JSONObject json = fileRead("myfile.json")
JSONObject objToAdd = new JSONObject();
json.add(objToAdd);

fileWrite(json);

答案 1 :(得分:0)

如果您使用Java 7并且您的Json不是很大,这是一种添加行的简单方法:

List<String> lines = Files.readAllLines(Paths.get("C:\\Automation1\\some.json"), StandardCharsets.UTF_8);
lines.add(6, "{ \"abc\": 123}"); // as example add data to row 6
Files.write(Paths.get("C:\\Automation1\\some.json"), lines, StandardCharsets.UTF_8);

但这种技术难以维持。

我建议你将Json转换为Object,并在你adit Object后将其转换回Json文件

答案 2 :(得分:0)

使用json解析器库,例如json-simple。首先阅读内容,将其传递给解析器并创建一个Json对象。这是一个example

 JSONObject obj=new JSONObject();
  obj.put("name","foo");
  obj.put("num",new Integer(100));
  obj.put("balance",new Double(1000.21));
  obj.put("is_vip",new Boolean(true));
  obj.put("nickname",null);
  StringWriter out = new StringWriter();
  obj.writeJSONString(out);   // your writer object, i.e., FileWriter
  String jsonText = out.toString();
  System.out.print(jsonText);

那么你也可以将一个JsonObject添加到另一个:jsonObj1.add(jsonObj);