Я пытаюсь использовать внешний API NYTimes. Вот пример примера вывода данных: < /p>
{
"status": "OK",
"copyright": "Copyright (c) 2016 The New York Times Company. All Rights Reserved.",
"section": "home",
"last_updated": "2016-10-20T19:57:45-04:00",
"num_results": 30,
"results": [{
"section": "Briefing",
"subsection": "",
"title": "Election, Dodgers, Duterte: Your Thursday Evening Briefing",
"abstract": "Here’s what you need to know at the end of the day.",
"url": "abc.co",
"byline": "By KAREN ZRAICK and MERRILL D. OLIVER",
"item_type": "Article",
"updated_date": "2016-10-20T18:32:41-04:00",
"created_date": "2016-10-20T17:58:30-04:00",
"published_date": "2016-10-20T17:58:30-04:00",
"material_type_facet": "",
"kicker": "",
"des_facet": [],
"org_facet": [],
"per_facet": [],
"geo_facet": [],
"multimedia": [{
"url": "abc.co",
"format": "Standard Thumbnail",
"height": 75,
"width": 75,
"type": "image",
"subtype": "photo",
"caption": "",
"copyright": "Damon Winter/The New York Times"
}, {
"url": "abc.co",
"format": "thumbLarge",
"height": 150,
"width": 150,
"type": "image",
"subtype": "photo",
"caption": "",
"copyright": "Damon Winter/The New York Times"
}, {
"url": "abc.co",
"format": "Normal",
"height": 127,
"width": 190,
"type": "image",
"subtype": "photo",
"caption": "",
"copyright": "Damon Winter/The New York Times"
}, {
"url": "abc.co",
"format": "mediumThreeByTwo210",
"height": 140,
"width": 210,
"type": "image",
"subtype": "photo",
"caption": "",
"copyright": "Damon Winter/The New York Times"
}, {
"url": "abc.co",
"format": "superJumbo",
"height": 1365,
"width": 2048,
"type": "image",
"subtype": "photo",
"caption": "",
"copyright": "Damon Winter/The New York Times"
}],
"short_url": "http://abc.co"
}
]
}
< /code>
Вот определение бобов < /p>
//Headline.class
public class Headline {
@JsonProperty("status")
String status;
@JsonProperty("copyright")
String copyright;
@JsonProperty("section")
String section;
@JsonProperty("last_updated")
String last_updated;
@JsonProperty("num_results")
int num_results;
@JsonProperty("results")
List results;
< /code>
`< /p>
//Story.class
@JsonProperty("section")
String section;
@JsonProperty("subsection")
String subsection;
@JsonProperty("title")
String title;
@JsonProperty("abstract")
String storyAbstract;
@JsonProperty("url")
String url;
@JsonProperty("byline")
String byline;
@JsonProperty("item_type")
String item_type;
@JsonProperty("updated_date")
String updated_date;
@JsonProperty("created_date")
String created_date;
@JsonProperty("published_date")
String published_date;
@JsonProperty("material_type_facet")
String material_type_facet;
@JsonProperty("kicker")
String kicker;
/*@JsonProperty("des_facet")
List des_facet;
@JsonProperty("org_facet")
List org_facet;
@JsonProperty("per_facet")
List per_facet;
@JsonProperty("geo_facet")
List geo_facet;*/
@JsonProperty("multimedia")
List multimedia;
@JsonProperty("short_url")
String short_url;
//Media.class
@JsonProperty("url")
String url;
@JsonProperty("format")
String format;
@JsonProperty("height")
int height;
@JsonProperty("width")
int width;
@JsonProperty("type")
String type;
@JsonProperty("subtype")
String subtype;
@JsonProperty("caption")
String caption;
@JsonProperty("copyright")
String copyright;
< /code>
Вот мой абонент: < /p>
RestTemplate restTemplate = new RestTemplate();
MappingJackson2HttpMessageConverter jsonConverter = new MappingJackson2HttpMessageConverter();
jsonConverter.setSupportedMediaTypes(Arrays.asList(new MediaType("text","json",MappingJackson2HttpMessageConverter.DEFAULT_CHARSET)));
restTemplate.getMessageConverters().add(jsonConverter);
Headline headline = restTemplate.getForObject("http://abc/svc/topstories/v1/home.json? ... line.class);
logger.info("Headline"+headline.toString());
< /code>
За исключением, которое я получаю, когда я делаю вызов: < /p>
Exception in thread "main" org.springframework.http.converter.HttpMessageNotReadableException: Could not read JSON: Can not construct instance of java.util.ArrayList: no String-argument constructor/factory method to deserialize from String value ('')
at [Source: java.io.PushbackInputStream@22d9d; line: 1, column: 1185] (through reference chain: NYTimes.Payload.Headline["results"]->java.util.ArrayList[0]->NYTimes.Story.Story["multimedia"]); nested exception is com.fasterxml.jackson.databind.JsonMappingException: Can not construct instance of java.util.ArrayList: no String-argument constructor/factory method to deserialize from String value ('')
at [Source: java.io.PushbackInputStream@22d9d; line: 1, column: 1185] (through reference chain: NYTimes.Payload.Headline["results"]->java.util.ArrayList[0]->NYTimes.Story.Story["multimedia"])
< /code>
Я пытался понять, почему это не де-эриализуется. Если строковое значение пустое - тогда оно должно привести к нулевому списку?
Подробнее здесь: https://stackoverflow.com/questions/401 ... ring-value
Нет конструктора/фабричного конструктора строкового аргумента/заводя ⇐ JAVA
Программисты JAVA общаются здесь
1758358885
Anonymous
Я пытаюсь использовать внешний API NYTimes. Вот пример примера вывода данных: < /p>
{
"status": "OK",
"copyright": "Copyright (c) 2016 The New York Times Company. All Rights Reserved.",
"section": "home",
"last_updated": "2016-10-20T19:57:45-04:00",
"num_results": 30,
"results": [{
"section": "Briefing",
"subsection": "",
"title": "Election, Dodgers, Duterte: Your Thursday Evening Briefing",
"abstract": "Here’s what you need to know at the end of the day.",
"url": "abc.co",
"byline": "By KAREN ZRAICK and MERRILL D. OLIVER",
"item_type": "Article",
"updated_date": "2016-10-20T18:32:41-04:00",
"created_date": "2016-10-20T17:58:30-04:00",
"published_date": "2016-10-20T17:58:30-04:00",
"material_type_facet": "",
"kicker": "",
"des_facet": [],
"org_facet": [],
"per_facet": [],
"geo_facet": [],
"multimedia": [{
"url": "abc.co",
"format": "Standard Thumbnail",
"height": 75,
"width": 75,
"type": "image",
"subtype": "photo",
"caption": "",
"copyright": "Damon Winter/The New York Times"
}, {
"url": "abc.co",
"format": "thumbLarge",
"height": 150,
"width": 150,
"type": "image",
"subtype": "photo",
"caption": "",
"copyright": "Damon Winter/The New York Times"
}, {
"url": "abc.co",
"format": "Normal",
"height": 127,
"width": 190,
"type": "image",
"subtype": "photo",
"caption": "",
"copyright": "Damon Winter/The New York Times"
}, {
"url": "abc.co",
"format": "mediumThreeByTwo210",
"height": 140,
"width": 210,
"type": "image",
"subtype": "photo",
"caption": "",
"copyright": "Damon Winter/The New York Times"
}, {
"url": "abc.co",
"format": "superJumbo",
"height": 1365,
"width": 2048,
"type": "image",
"subtype": "photo",
"caption": "",
"copyright": "Damon Winter/The New York Times"
}],
"short_url": "http://abc.co"
}
]
}
< /code>
Вот определение бобов < /p>
//Headline.class
public class Headline {
@JsonProperty("status")
String status;
@JsonProperty("copyright")
String copyright;
@JsonProperty("section")
String section;
@JsonProperty("last_updated")
String last_updated;
@JsonProperty("num_results")
int num_results;
@JsonProperty("results")
List results;
< /code>
`< /p>
//Story.class
@JsonProperty("section")
String section;
@JsonProperty("subsection")
String subsection;
@JsonProperty("title")
String title;
@JsonProperty("abstract")
String storyAbstract;
@JsonProperty("url")
String url;
@JsonProperty("byline")
String byline;
@JsonProperty("item_type")
String item_type;
@JsonProperty("updated_date")
String updated_date;
@JsonProperty("created_date")
String created_date;
@JsonProperty("published_date")
String published_date;
@JsonProperty("material_type_facet")
String material_type_facet;
@JsonProperty("kicker")
String kicker;
/*@JsonProperty("des_facet")
List des_facet;
@JsonProperty("org_facet")
List org_facet;
@JsonProperty("per_facet")
List per_facet;
@JsonProperty("geo_facet")
List geo_facet;*/
@JsonProperty("multimedia")
List multimedia;
@JsonProperty("short_url")
String short_url;
//Media.class
@JsonProperty("url")
String url;
@JsonProperty("format")
String format;
@JsonProperty("height")
int height;
@JsonProperty("width")
int width;
@JsonProperty("type")
String type;
@JsonProperty("subtype")
String subtype;
@JsonProperty("caption")
String caption;
@JsonProperty("copyright")
String copyright;
< /code>
Вот мой абонент: < /p>
RestTemplate restTemplate = new RestTemplate();
MappingJackson2HttpMessageConverter jsonConverter = new MappingJackson2HttpMessageConverter();
jsonConverter.setSupportedMediaTypes(Arrays.asList(new MediaType("text","json",MappingJackson2HttpMessageConverter.DEFAULT_CHARSET)));
restTemplate.getMessageConverters().add(jsonConverter);
Headline headline = restTemplate.getForObject("http://abc/svc/topstories/v1/home.json?api-key=key",Headline.class);
logger.info("Headline"+headline.toString());
< /code>
За исключением, которое я получаю, когда я делаю вызов: < /p>
Exception in thread "main" org.springframework.http.converter.HttpMessageNotReadableException: Could not read JSON: Can not construct instance of java.util.ArrayList: no String-argument constructor/factory method to deserialize from String value ('')
at [Source: java.io.PushbackInputStream@22d9d; line: 1, column: 1185] (through reference chain: NYTimes.Payload.Headline["results"]->java.util.ArrayList[0]->NYTimes.Story.Story["multimedia"]); nested exception is com.fasterxml.jackson.databind.JsonMappingException: Can not construct instance of java.util.ArrayList: no String-argument constructor/factory method to deserialize from String value ('')
at [Source: java.io.PushbackInputStream@22d9d; line: 1, column: 1185] (through reference chain: NYTimes.Payload.Headline["results"]->java.util.ArrayList[0]->NYTimes.Story.Story["multimedia"])
< /code>
Я пытался понять, почему это не де-эриализуется. Если строковое значение пустое - тогда оно должно привести к нулевому списку?
Подробнее здесь: [url]https://stackoverflow.com/questions/40166309/no-string-argument-constructor-factory-method-to-deserialize-from-string-value[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия