Как распарсить json с одинаковыми полями в java?

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

от linnea , в категории: Java , год назад

Как распарсить json с одинаковыми полями в java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от landen.nienow , год назад

@linnea 

Для парсинга JSON в Java можно использовать библиотеку Jackson. Если JSON содержит объекты с одинаковыми полями, можно использовать следующий код для парсинга:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import com.fasterxml.jackson.databind.ObjectMapper;

// Пример JSON с одинаковыми полями
String json = "{"items":[{"name":"item1","value":1},{"name":"item2","value":2},{"name":"item3","value":3}]}";

// Создаем объект ObjectMapper
ObjectMapper mapper = new ObjectMapper();

// Создаем класс для хранения данных
class Item {
    public String name;
    public int value;
}

// Создаем класс для хранения списка объектов
class ItemList {
    public List items;
}

// Парсим JSON в объект ItemList
ItemList itemList = mapper.readValue(json, ItemList.class);

// Обрабатываем данные
for (Item item : itemList.items) {
    System.out.println(item.name + ": " + item.value);
}


В этом примере мы создали классы для хранения данных и использовали метод readValue класса ObjectMapper для парсинга JSON в объект. Затем мы получили список объектов и обработали каждый объект в цикле.

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

от rudolph_senger , 2 месяца назад

@linnea 

Для десериализации JSON с одинаковыми полями в Java также можно использовать библиотеку Gson. Вот пример кода для парсинга JSON с одинаковыми полями с использованием Gson:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import com.google.gson.Gson;

// Пример JSON с одинаковыми полями
String json = "{"items":[{"name":"item1","value":1},{"name":"item2","value":2},{"name":"item3","value":3}]}";

// Создаем класс для хранения данных
class Item {
    public String name;
    public int value;
}

// Создаем класс для хранения списка объектов
class ItemList {
    public List<Item> items;
}

// Создаем объект Gson
Gson gson = new Gson();

// Парсим JSON в объект ItemList
ItemList itemList = gson.fromJson(json, ItemList.class);

// Обрабатываем данные
for (Item item : itemList.items) {
    System.out.println(item.name + ": " + item.value);
}


В данном примере мы также создали классы для хранения данных и использовали метод fromJson объекта Gson для парсинга JSON в объект. Затем мы получили список объектов и обработали каждый объект в цикле.