Очень простой способ-прочитать файл 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 Listlista; 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”