繁体   English   中英

如何在 Java 中写入有效的 JSON 文件?

[英]How to write a valid JSON file in Java?

我从 postman 得到以下 JSON object:

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

如果文件是空的,它应该像这样粘贴:

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

别的:

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

谢谢。

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

粗略地说 {} 映射到 java object。 [] 映射到 java 集合,例如 ArrayList

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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