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

如何用Java编写有效的JSON文件?,java,json,file,Java,Json,File,我从postman处获得以下JSON对象: {"Name":"one","age":"22"} 如果文件为空,则应按如下方式粘贴: [{"Name":"one","age":"22"}] 其他: [{"Name":"one","age":"22"},{"Name":"one","age":"22"}] 谢谢。这有点不清楚,但您希望传回方括号[]的集合或数组 粗略地说,{}映射到java对象。 []映射到一个java集合,例如ArrayList,因为您没有提到太多细节,所以我假设您总是可以接

我从postman处获得以下JSON对象:

{"Name":"one","age":"22"}
如果文件为空,则应按如下方式粘贴:

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

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

谢谢。

这有点不清楚,但您希望传回方括号[]的集合或数组

粗略地说,{}映射到java对象。
[]映射到一个java集合,例如ArrayList,因为您没有提到太多细节,所以我假设您总是可以接收HTTP响应(例如HTTP状态代码为200),并且响应总是一个有效的JSON字符串

实现这一点的一个简单方法是使用
列表
进行数据操作。下面的代码片段(不考虑任何异常处理)显示了如何使用
列表
读取和写入文件

示例代码(使用java8和Jackson-JSON解析器编写)

List jsonList=new ArrayList();
Path Path=Path.get(“json_result.txt”)//此文件已存在
//读取文件并将内容保存到jsonList中
流行=文件。行(路径);
行。forEach(行->{
试一试{
addAll(mapper.readValue(行,newTypeReference(){}));
}
...
}
//将新的响应字符串添加到jsonList并写入文件
字符串responsest=“{\'Name\':\'one\',\'age\':\'22\'”;
add(mapper.readValue(responsest,newtypereference(){}));
write(路径,jsonList.toString().getBytes());

到目前为止,您尝试了什么?您能把问题说清楚一点吗?您能写更多的细节吗?您是如何接收JSON HTTP的?错误是什么,您写了什么代码?检查这里以供参考:您有编写此JSON的代码吗?如果有,请查看您的代码中的响应在哪里,您可能会看到关于JSON HTTP的差异结果。当您有多个寄存器时,响应将返回一个列表/数组,而当您只有一个寄存器时,响应将返回此列表/数组。
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());