Как прочитать json объект в java?

Пользователь

от loyal , в категории: Java , 8 месяцев назад

Как прочитать json объект в java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от ransom_homenick , 7 месяцев назад

@loyal 

Для чтения JSON объекта в Java, необходимо использовать библиотеку для работы с JSON. В Java популярной и широко используемой библиотекой является Gson.


Вот пример кода, который позволит прочитать JSON объект в Java с использованием библиотеки Gson:

  1. Сначала убедитесь, что у вас установлена библиотека Gson. Вы можете добавить зависимость в файле pom.xml для проекта Maven:
1
2
3
4
5
    com.google.code.gson
    gson
    2.8.7


  1. Создайте класс, который будет соответствовать структуре JSON объекта. Например, предположим, что у вас есть следующий JSON объект:
1
2
3
4
5
{
  "name": "John",
  "age": 30,
  "city": "New York"
}


Теперь создайте класс, который будет иметь аналогичные поля:

1
2
3
4
5
6
7
public class Person {
    private String name;
    private int age;
    private String city;

    // Геттеры и сеттеры
}


  1. Прочитайте JSON объект в Java с использованием Gson:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
import com.google.gson.Gson;

public class Main {
    public static void main(String[] args) {
        String json = "{"name":"John","age":30,"city":"New York"}";

        Gson gson = new Gson();
        Person person = gson.fromJson(json, Person.class);

        System.out.println(person.getName());
        System.out.println(person.getAge());
        System.out.println(person.getCity());
    }
}


В этом примере мы сначала создаем объект Gson, затем используем метод fromJson() для преобразования JSON строки в объект Java класса Person. Затем мы можем получить значения полей объекта Java и вывести их. В данном случае вывод будет:

1
2
3
John
30
New York


Обратите внимание, что ключи в JSON объекте должны совпадать с именами полей в Java классе. Если имена отличаются, вы можете использовать аннотацию @SerializedName для указания соответствия между JSON ключами и полями класса Java.