Вы можете перевести JSON String в класс, используя библиотеку по имени Джексон. Прежде всего, вы должны импортировать эту библиотеку. Если вы используете Maven, вы можете добавить:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.8</version>
</dependency>
Затем вы должны создать свой класс Video
, который будет хранить данные. Джексон отображает каждый ключ строки JSON в поле класса с тем же именем. Например:
{
"hello": "hi",
"name": "alex"
}
Тогда, если вы сопоставите это JSON с классом с именем Greeting:
public class Greeeting {
private String hello;
private String name;
// The class must have getters and setters
public String getHello() {
return this.hello;
}
public String getName() {
return this.name;
}
public void setHello(String hello) {
this.hello = hello;
}
public void setName(String name) {
this.name = name;
}
}
Если вы сопоставите строку с Greeting.class, экземпляр Greeting будет создан содержащий hi
в hello
поле и alex
в name
поле.
Для этого сопоставления вы можете сделать:
public Greeting parseGreeting(String json) {
ObjectMapper mapper = new ObjectMapper();
return mapper.readValue(json, Greeting.class);
}
Вместо строки вы также можете передайте файл в качестве первого параметра.
Теперь вам нужно реализовать Video.class
в зависимости от того, какие поля у вас JSON есть.