![](/img/trans.png)
[英]How to convert a json file that contains multiple objects to a list of java objects using json
[英]How can I convert JSON file into List of objects?
我正在尝试为我的程序和保护程序做一个加载器到 json 工作,但读者没有。 我基本上是在转换我的对象列表,比如说 ArrayList ProjectArr 到 json 正在工作,现在我要关闭终端并将信息加载到我最初空白的 ProjectArr 列表中,这样我就可以添加保存的数据加载功能。 这是我的读者:
public static ArrayList<Project> MapReaderforProject() {
ObjectMapper objectMapperforProject = new ObjectMapper();
String jsonfile = "C:/Users/elmm/Desktop/DS Project/DsProject/target/test1.json";
File file = new File("C:/Users/elmm/Desktop/DS Project/DsProject/target/test1.json");
try {
ProjectArr = objectMapperforProject.readValue(jsonfile,new TypeReference<ArrayList<Project>>(){});
}
catch (JsonMappingException e) {
} catch (JsonProcessingException e) {
}
System.out.println(ProjectArr.toString());
return ProjectArr;
}
但是当我调用这个时,即使 JSON 文件正在工作并且有信息,它没有读取任何内容,只是打印 [],空列表基本上意味着它没有从 JSON 读取数据回到我的列表中。 有人可以指导我吗?
缺少一些上下文信息可以为您提供更多帮助。 例如,什么是ObjectMapper
? 它是来自图书馆(以及来自哪个图书馆)还是你自己写的?
但到目前为止我已经认识到:在第 3 行中,您创建了一个包含文件名的String
。 在第 4 行中,您创建一个具有相同文件名的File
object。 您可以在那里使用您在上面创建的行的String
。
在第 6 行中,您在ObjectMapper
实例上调用readValue
方法并传递在第 3 行中创建的包含文件名的String
。 这个方法真的想要一个带有文件名的String
吗? 如果这是 Jackson 库中的ObjectMapper
,则需要将 JSON 代码解析为readValue
调用的第一个参数,而不是文件名。
所以看起来在第 4 行之后你需要代码来读取你应该传递给readValue
方法的文件的内容。
看看这个简短的教程: https://www.baeldung.com/jackson-object-mapper-tutorial
hth
麦普林格尔
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.