如何用Java编写有效的JSON文件?

时间:2019-10-22 15:37:23

标签: java json file

我从邮递员那里得到了以下JSON对象:

[{"Name":"one","age":"22"}]

如果文件为空,则应粘贴为:

[{"Name":"one","age":"22"},{"Name":"one","age":"22"}]

其他:

suffixNum

谢谢。

2 个答案:

答案 0 :(得分:0)

这有点不清楚,但是您想传回Collection或方括号[]的数组。

大致来说{}映射到Java对象。 []映射到Java集合,例如ArrayList

答案 1 :(得分:0)

因为您没有提及太多细节,所以我假设您始终可以接收HTTP响应(例如HTTP状态代码为200。),并且该响应始终是有效的JSON字符串。

一种简单的方法是使用List<Map<String, Object>>进行数据操作。以下代码段(不考虑任何异常处理)显示了如何使用List<Map<String, Object>>来读写文件。

示例代码(使用Java 8使用Jackson JSON解析器编写)

List<Map<String, Object>> jsonList = new ArrayList<Map<String, Object>>();

Path path = Paths.get("json_result.txt"); //this file already existed

//read file and save content into jsonList
Stream<String> lines = Files.lines(path);
lines.forEach(line -> {
   try {
       jsonList.addAll(mapper.readValue(line, new TypeReference<List<Map<String, Object>>>(){}));
   }
   ...
}

//add new response string into jsonList and write to file
String responseStr = "{\"Name\":\"one\",\"age\":\"22\"}";
jsonList.add(mapper.readValue(responseStr, new TypeReference<Map<String, Object>>(){}));
Files.write(path, jsonList.toString().getBytes());