如何将JSON字符串列表转换为Java对象

时间:2018-01-22 22:21:27

标签: java json

将JSON文件中的元素转换为Java中的对象时遇到了麻烦。我尝试了一些方法,但是我有一个特定的JSON文件,这对我来说很难成功。

以下是名为“movies.json”的JSON文件的一部分:

[...,

 {"title":"Dirty Grandpa",
 "year":2016,
 "director":"Dan Mazer",
 "cast":"Zac Efron, Robert De Niro, Zoey Deutch, Aubrey Plaza",
 "genre":"Comedy",
 "notes":"Lions Gate Entertainment"},

 {"title":"The Jungle Book",
  "year":2016,
  "director":"Jon Favreau",
  "cast":"Bill Murray, Ben Kingsley, Idris Elba",
  "genre":"Adventure",
  "notes":"Walt Disney Pictures, Based on the story of the same name by Rudyard Kipling"},

 {"title":"Geostorm",
  "year":2016,
  "director":"Dean Devlin",
  "cast":"Gerard Butler, Andy Garcia, Ed Harris, Katheryn Winnick",
  "genre":"Action",
  "notes":"Warner Bros."}]

我必须加载此文件,并且对于此列表中的每个电影,我必须创建将包含ArrayList actor的电影Object。

因此“关键”作为“演员”的价值将是演员。它们是由“,”分隔的字符串。我必须使每个actor都成为Object Actor并在给定Movie对象的ArrayList actor中收集它们。

怎么做?

我试图实现Movie类:

public class Movie {

@JsonProperty("title")
public String title;

@JsonProperty("year")
public Integer year;

@JsonProperty("director")
public String director;

@JsonProperty("cast")
public ArrayList<Actor> actors; }

但我不知道如何处理Actor类,因为actor不能被读作@JsonProperty()。

我应该使用jackson ObjectMapper和方法readValue(),但现在对我来说似乎太复杂了。

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您可以使用此网站从json制作您的pojo。

Json2pojo

此网站为Json和JsonSchemas提供了许多其他功能和翻译选项,以及更多。

之后你可以使用faster.jackson包的Mapper来解析json或者再次将它转换为object。