gpt4 book ai didi

java - 如何将以下 JSON 打印为漂亮的格式?

转载 作者:行者123 更新时间:2023-12-02 10:30:41 25 4
gpt4 key购买 nike

{ "firstName":"John", "lastName":"Doe" },
{ "firstName":"Anna", "lastName":"Smith" },
{ "firstName":"Peter", "lastName":"Jones" }

这是我的示例 JSON,没有根标记。如何获取整个 JSON 并针对每一行迭代它,并将其存储为 Java 中的 String 对象并解析为 JSON 对象?我尝试了这段代码。

String file = "D:\\employees.json";
ObjectMapper mapper = new ObjectMapper();
String data = "";

data = new String(Files.readAllBytes(Paths.get(file)));
System.out.println(data);
Object json = mapper.readValue(data, employees.class);
System.out.println("JSON -> "+json);
String indented = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(json);
System.out.println(indented);

但是这里 json 变量只保存文件的单行,但我希望整个文件以漂亮的格式打印。我怎样才能做到这一点 ?这里每一行都是一个单独的实体。

最佳答案

根据您在评论中的回答,我认为它应该有效:

String file = "here file path";
ObjectMapper mapper = new ObjectMapper();

List<Object> employeeList = new ArrayList<>();
for (String line : Files.readAllLines(Paths.get(file))) {
employeeList.add(mapper.readValue(line, Object.class));
}

String indented = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(employeeList);
System.out.println(indented);

输出 JSON 如下所示:

[ {
"firstName" : "John",
"lastName" : "Doe"
}, {
"firstName" : "Anna",
"lastName" : "Smith"
}, {
"firstName" : "Peter",
"lastName" : "Jones"
} ]

关于java - 如何将以下 JSON 打印为漂亮的格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53629648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com