Интересует, можно ли скормить обычную строку Джексону? И потом уже построить 2 списка , по значениям? Вот строка которую я получил, после парсинга JSON. `
[{"id":3,"name":"Replay"},{"id":4,"name":"Replica"},{"id":2,"name":"Vianor"},{"id":5,"name":"Kosei"},{"id":12,"name":"Invader"},{"id":8,"name":"MANSORY"},{"id":13,"name":"RAYS"},{"id":14,"name":"VISSOL"}]`
Парсинг осуществляется таким образом:
String make =pojo_params.getData().getMake();
Если нет, то как лучше поступить? ЛУчшей идеи, кроме как скормить её опять Джексону у меня не приходит. На всякий случай прикреплю оригинал JSON, чтобы было понятно откуда эта строка у меня взялась.
{
"success": true,
"data": {
"auto": "[{\"id\":1,\"name\":\"Acura\"},{\"id\":4,\"name\":\"AUDI\"},{\"id\":5,\"name\":\"Bentley\"},{\"id\":6,\"name\":\"BMW\"},{\"id\":8,\"name\":\"Cadillac\"},{\"id\":10,\"name\":\"Chevrolet\"},{\"id\":11,\"name\":\"Chrysler\"},{\"id\":12,\"name\":\"Citroen\"},{\"id\":17,\"name\":\"Dodge\"},{\"id\":18,\"name\":\"Fiat\"},{\"id\":19,\"name\":\"Ford\"},{\"id\":21,\"name\":\"Geely\"},{\"id\":65,\"name\":\"Gmc\"},{\"id\":22,\"name\":\"Great Wall\"},{\"id\":23,\"name\":\"Honda\"},{\"id\":25,\"name\":\"Hyundai\"},{\"id\":26,\"name\":\"Infiniti\"},{\"id\":27,\"name\":\"Jaguar\"},{\"id\":28,\"name\":\"Jeep\"},{\"id\":30,\"name\":\"Kia\"},{\"id\":33,\"name\":\"Landrover\"},{\"id\":34,\"name\":\"Lexus\"},{\"id\":38,\"name\":\"Mazda\"},{\"id\":39,\"name\":\"Mercedes\"},{\"id\":41,\"name\":\"MINI\"},{\"id\":42,\"name\":\"Mitsubishi\"},{\"id\":66,\"name\":\"Mustang\"},{\"id\":44,\"name\":\"Nissan\"},{\"id\":45,\"name\":\"Opel\"},{\"id\":46,\"name\":\"Peugeot\"},{\"id\":47,\"name\":\"Porsche\"},{\"id\":48,\"name\":\"Renault\"},{\"id\":54,\"name\":\"Skoda\"},{\"id\":51,\"name\":\"SsangYong\"},{\"id\":55,\"name\":\"Subaru\"},{\"id\":56,\"name\":\"Suzuki\"},{\"id\":57,\"name\":\"Toyota\"},{\"id\":60,\"name\":\"Volkswagen\"},{\"id\":61,\"name\":\"Volvo\"}]",
"make": "[{\"id\":3,\"name\":\"Replay\"},{\"id\":4,\"name\":\"Replica\"},{\"id\":2,\"name\":\"Vianor\"},{\"id\":5,\"name\":\"Kosei\"},{\"id\":12,\"name\":\"Invader\"},{\"id\":8,\"name\":\"MANSORY\"},{\"id\":13,\"name\":\"RAYS\"},{\"id\":14,\"name\":\"VISSOL\"}]",
"size": "[{\"id\":13,\"name\":13},{\"id\":14,\"name\":14},{\"id\":15,\"name\":15},{\"id\":16,\"name\":16},{\"id\":17,\"name\":17},{\"id\":18,\"name\":18},{\"id\":19,\"name\":19},{\"id\":20,\"name\":20},{\"id\":21,\"name\":21},{\"id\":22,\"name\":22}]",
"rim": "[{\"id\":\"5.0\",\"name\":\"5.0\"},{\"id\":\"5.5\",\"name\":\"5.5\"},{\"id\":\"6.0\",\"name\":\"6.0\"},{\"id\":\"6.5\",\"name\":\"6.5\"},{\"id\":\"7.0\",\"name\":\"7.0\"},{\"id\":\"7.5\",\"name\":\"7.5\"},{\"id\":\"8.0\",\"name\":\"8.0\"},{\"id\":\"8.5\",\"name\":\"8.5\"},{\"id\":\"9.0\",\"name\":\"9.0\"},{\"id\":\"9.5\",\"name\":\"9.5\"},{\"id\":\"10.0\",\"name\":\"10.0\"},{\"id\":\"10.5\",\"name\":\"10.5\"},{\"id\":\"11.0\",\"name\":\"11.0\"}]",
"psd": "[{\"id\":12,\"name\":\"4x100\"},{\"id\":9,\"name\":\"4x108\"},{\"id\":14,\"name\":\"4x114.3\"},{\"id\":3,\"name\":\"4x98\"},{\"id\":4,\"name\":\"5x100\"},{\"id\":15,\"name\":\"5x105\"},{\"id\":7,\"name\":\"5x108\"},{\"id\":6,\"name\":\"5x110\"},{\"id\":8,\"name\":\"5x112\"},{\"id\":2,\"name\":\"5x114.3\"},{\"id\":25,\"name\":\"5x115\"},{\"id\":33,\"name\":\"5x118\"},{\"id\":1,\"name\":\"5x120\"},{\"id\":35,\"name\":\"5x120-130\"},{\"id\":26,\"name\":\"5x127\"},{\"id\":11,\"name\":\"5x130\"},{\"id\":16,\"name\":\"5x139.7\"},{\"id\":19,\"name\":\"5x150\"},{\"id\":27,\"name\":\"5x160\"},{\"id\":20,\"name\":\"6x114.3\"},{\"id\":31,\"name\":\"6x127\"},{\"id\":29,\"name\":\"6x130\"},{\"id\":168,\"name\":\"6x135\"},{\"id\":13,\"name\":\"6x139.7\"}]",
"et": "[{\"id\":\"2.0\",\"name\":\"2.0\"},{\"id\":\"5.0\",\"name\":\"5.0\"},{\"id\":\"7.0\",\"name\":\"7.0\"},{\"id\":\"10.0\",\"name\":\"10.0\"},{\"id\":\"14.0\",\"name\":\"14.0\"},{\"id\":\"15.0\",\"name\":\"15.0\"},{\"id\":\"16.0\",\"name\":\"16.0\"},{\"id\":\"18.0\",\"name\":\"18.0\"},{\"id\":\"19.0\",\"name\":\"19.0\"},{\"id\":\"20.0\",\"name\":\"20.0\"},{\"id\":\"20.5\",\"name\":\"20.5\"},{\"id\":\"21.0\",\"name\":\"21.0\"},{\"id\":\"23.0\",\"name\":\"23.0\"},{\"id\":\"24.0\",\"name\":\"24.0\"},{\"id\":\"25.0\",\"name\":\"25.0\"},{\"id\":\"26.0\",\"name\":\"26.0\"},{\"id\":\"27.0\",\"name\":\"27.0\"},{\"id\":\"28.0\",\"name\":\"28.0\"},{\"id\":\"29.0\",\"name\":\"29.0\"},{\"id\":\"30.0\",\"name\":\"30.0\"},{\"id\":\"31.0\",\"name\":\"31.0\"},{\"id\":\"32.0\",\"name\":\"32.0\"},{\"id\":\"33.0\",\"name\":\"33.0\"},{\"id\":\"34.0\",\"name\":\"34.0\"},{\"id\":\"34.5\",\"name\":\"34.5\"},{\"id\":\"35.0\",\"name\":\"35.0\"},{\"id\":\"36.0\",\"name\":\"36.0\"},{\"id\":\"37.0\",\"name\":\"37.0\"},{\"id\":\"38.0\",\"name\":\"38.0\"},{\"id\":\"39.0\",\"name\":\"39.0\"},{\"id\":\"39.5\",\"name\":\"39.5\"},{\"id\":\"40.0\",\"name\":\"40.0\"},{\"id\":\"41.0\",\"name\":\"41.0\"},{\"id\":\"41.3\",\"name\":\"41.3\"},{\"id\":\"41.5\",\"name\":\"41.5\"},{\"id\":\"42.0\",\"name\":\"42.0\"},{\"id\":\"42.5\",\"name\":\"42.5\"},{\"id\":\"43.0\",\"name\":\"43.0\"},{\"id\":\"43.8\",\"name\":\"43.8\"},{\"id\":\"44.0\",\"name\":\"44.0\"},{\"id\":\"45.0\",\"name\":\"45.0\"},{\"id\":\"45.5\",\"name\":\"45.5\"},{\"id\":\"46.0\",\"name\":\"46.0\"},{\"id\":\"47.0\",\"name\":\"47.0\"},{\"id\":\"47.5\",\"name\":\"47.5\"},{\"id\":\"48.0\",\"name\":\"48.0\"},{\"id\":\"48.5\",\"name\":\"48.5\"},{\"id\":\"49.0\",\"name\":\"49.0\"},{\"id\":\"49.5\",\"name\":\"49.5\"},{\"id\":\"50.0\",\"name\":\"50.0\"},{\"id\":\"51.0\",\"name\":\"51.0\"},{\"id\":\"52.0\",\"name\":\"52.0\"},{\"id\":\"52.5\",\"name\":\"52.5\"},{\"id\":\"53.0\",\"name\":\"53.0\"},{\"id\":\"54.0\",\"name\":\"54.0\"},{\"id\":\"55.0\",\"name\":\"55.0\"},{\"id\":\"56.0\",\"name\":\"56.0\"},{\"id\":\"57.0\",\"name\":\"57.0\"},{\"id\":\"58.0\",\"name\":\"58.0\"},{\"id\":\"59.0\",\"name\":\"59.0\"},{\"id\":\"60.0\",\"name\":\"60.0\"},{\"id\":\"62.0\",\"name\":\"62.0\"},{\"id\":\"65.0\",\"name\":\"65.0\"},{\"id\":\"66.0\",\"name\":\"66.0\"},{\"id\":\"68.0\",\"name\":\"68.0\"}]",
"dia": "[{\"id\":\"54.1\",\"name\":\"54.1\"},{\"id\":\"56.1\",\"name\":\"56.1\"},{\"id\":\"56.6\",\"name\":\"56.6\"},{\"id\":\"57.1\",\"name\":\"57.1\"},{\"id\":\"58.1\",\"name\":\"58.1\"},{\"id\":\"60.1\",\"name\":\"60.1\"},{\"id\":\"63.3\",\"name\":\"63.3\"},{\"id\":\"63.4\",\"name\":\"63.4\"},{\"id\":\"64.1\",\"name\":\"64.1\"},{\"id\":\"65.1\",\"name\":\"65.1\"},{\"id\":\"66.1\",\"name\":\"66.1\"},{\"id\":\"66.6\",\"name\":\"66.6\"},{\"id\":\"66.9\",\"name\":\"66.9\"},{\"id\":\"67.1\",\"name\":\"67.1\"},{\"id\":\"70.1\",\"name\":\"70.1\"},{\"id\":\"70.6\",\"name\":\"70.6\"},{\"id\":\"71.1\",\"name\":\"71.1\"},{\"id\":\"71.5\",\"name\":\"71.5\"},{\"id\":\"71.6\",\"name\":\"71.6\"},{\"id\":\"72.6\",\"name\":\"72.6\"},{\"id\":\"73.1\",\"name\":\"73.1\"},{\"id\":\"74.1\",\"name\":\"74.1\"},{\"id\":\"76.1\",\"name\":\"76.1\"},{\"id\":\"77.7\",\"name\":\"77.7\"},{\"id\":\"77.8\",\"name\":\"77.8\"},{\"id\":\"78.1\",\"name\":\"78.1\"},{\"id\":\"84.1\",\"name\":\"84.1\"},{\"id\":\"86.8\",\"name\":\"86.8\"},{\"id\":\"89.1\",\"name\":\"89.1\"},{\"id\":\"93.1\",\"name\":\"93.1\"},{\"id\":\"100.1\",\"name\":\"100.1\"},{\"id\":\"106.1\",\"name\":\"106.1\"},{\"id\":\"106.2\",\"name\":\"106.2\"},{\"id\":\"108.1\",\"name\":\"108.1\"},{\"id\":\"110.1\",\"name\":\"110.1\"},{\"id\":\"110.2\",\"name\":\"110.2\"},{\"id\":\"110.5\",\"name\":\"110.5\"}]"
}
Создай модель для объекта который содержит id,name (назаваем её IdNameEntity)
public class IdNameEntity {
private int id;
private String name;
//getters and setters
}
Ниже демо как парсить твой JSON:
import com.fasterxml.jackson.databind.ObjectMapper;
//other imports
public class Test {
public static void main(String[] args) throws IOException {
ObjectMapper mapper = new ObjectMapper();
String content = "[{\"id\":3,\"name\":\"Replay\"},{\"id\":4,\"name\":\"Replica\"},{\"id\":2,\"name\":\"Vianor\"},{\"id\":5,\"name\":\"Kosei\"},{\"id\":12,\"name\":\"Invader\"},{\"id\":8,\"name\":\"MANSORY\"},{\"id\":13,\"name\":\"RAYS\"},{\"id\":14,\"name\":\"VISSOL\"}]";
IdNameEntity[] idNameEntities = mapper.readValue(content, IdNameEntity[].class);
}
}
Если надо получить список из масива:
List<IdNameEntity> list = Arrays.asList(idNameEntities);
Автор вы делаете проблему на ровном месте.
Парсить JSON из строки, которая приходит по HTTP вы уже умеете.
Здесь все то же самое. Вот вам строка.
String make =pojo_params.getData().getMake();
Скормите ее парсеру и он вернет вам массив элементов.
Все абсолютно то же самое.
Просто надо понять, что ваш оригинальный JSON содержит некоторые строковые поля, содержимое которых по сути JSON, просто их надо распарсить отдельно.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости