java - 创建的 json 文件中的问题
问题描述
您好,我在将对象转换为 json 文件时遇到问题。
private static void convertToJson() {
Gson json = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
try (FileWriter jsonFile = new FileWriter("userFile.json")) {
for(User userToConvert : userList) {
String jsonFormat = json.toJson(userToConvert);
System.out.println(jsonFormat);
jsonFile.write(jsonFormat);
}
} catch (IOException e) {
e.printStackTrace();
}
}
在创建的 json 文件中,我得到了这个输出
{"username":"user1","password":"user1","email":"user@user.com"}{"username":"user2","password":"user2","email": “用户@user.com”}
第二行加下划线并表示: JSON 标准只允许一个顶级=级别值
我究竟做错了什么 ?
解决方案
解决方案是:
private static void convertToJson() {
Gson json = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
List jsonArrayList = new ArrayList<User>();
try (FileWriter jsonFile = new FileWriter("userFile.json")) {
for(User userToConvert : userList) {
jsonArrayList.add(userToConvert);
}
String usersArray = json.toJson(jsonArrayList);
jsonFile.write(usersArray);
} catch (IOException e) {
e.printStackTrace();
}
奇迹般有效 !
推荐阅读
- solidity - 如何在没有参数的情况下使用 abi.encodeWithSignature 调用外部合约?
- python - 我有一个包含两列的 Csv 文件。我想将此 DataFrame 转换为 JSON。我希望第一列元素作为键,第二列元素作为值
- angular - ng2-chart:条形图中的最小值不可见
- spring-boot - Keycloak 身份验证后未设置 Spring Security 上下文
- c++ - 转换向量指针和数组
- visual-studio-code - 如何根据主题(深色或浅色)更改 VSCode 中的用户设置?
- azure - 使用来自环境变量的 Azure Devops 工件 npm 令牌
- azure - Azure 数据流在创建新文件夹路径时生成包含无法识别的扩展名的文件
- automator - 我可以在 JavaScript 工作流程中访问 Image Suite 吗?
- mongodb - mongo 按 id 更新子列表中的多个项目