Очень простой способ-прочитать файл JSON в Java и преобразовать в объект, очень полезно для создания файлов конфигурации для вашей системы.
Службы
Единственная зависимость будет Gson , для преобразования JSON в объекты Java.
Код
Давайте создадим файл с именем config.json в корень нашего проекта, он будет содержать JSON, который будет прочитан.
{
"nome": "paulo",
"idade": 31,
"lista": ["Item 1", "Item 2", "Item 3"],
"cidade":{
"nome":"Rio de janeiro",
"estado": "RJ"
}
}
Давайте создадим файл Город.java чтобы поместить этот объект. Будет служить для демонстрации возможностей работы с объектами внутри файла JSON.
public class Cidade {
private String nome;
private String estado;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getEstado() {
return estado;
}
public void setEstado(String estado) {
this.estado = estado;
}
}
И мы будем также создать файл Config.java , чтобы получить содержимое главного файла.
public class Config {
private String nome;
private int idade;
private List lista;
private Cidade cidade;
public Config() {
cidade = new Cidade();
lista = new ArrayList<>();
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getIdade() {
return idade;
}
public void setIdade(int idade) {
this.idade = idade;
}
public List getLista() {
return lista;
}
public void setLista(List lista) {
this.lista = lista;
}
public Cidade getCidade() {
return cidade;
}
public void setCidade(Cidade cidade) {
this.cidade = cidade;
}
}
Наконец, в нашем классе main , мы проведем для чтения из файла и сохранить в Строку вашего контента:
String json
= String.join(" ",
Files.readAllLines(
Paths.get("./config.json"),
StandardCharsets.UTF_8)
);
Вскоре после этого, desserializamos содержимое в новый объект Config , с помощью метода FromJSON делать Gson :
Config config = new Gson().fromJson(json, Config.class);
Класс полный будет выглядеть следующим образом:
public class Main {
public static void main(String[] args) throws IOException {
String json
= String.join(" ",
Files.readAllLines(
Paths.get("./config.json"),
StandardCharsets.UTF_8)
);
Config config = new Gson().fromJson(json, Config.class);
System.out.println(config.getNome());
System.out.println(config.getIdade());
System.out.println(config.getLista());
System.out.println("");
System.out.println(config.getCidade().getNome());
System.out.println(config.getCidade().getEstado());
}
}
Результатом выполнения этого приложения:
paulo 31 [Item 1, Item 2, Item 3] Rio de janeiro RJ
[]’s
Оригинал: “https://dev.to/pcollares/como-ler-um-arquivo-json-no-java-2am7”