2016-10-19 3 views
1

Я пытаюсь развязать ресурс JSON с помощью Camel. я как этотUnmarshal не действителен JSON

from("timer:trigger").to("http://example.com/json") 
.unmarshal().json(JsonLibrary.Jackson); 

Проблема заключается в том, что данные, кажется, немного сломанный и JSON начинается с

)]}', 

конечно я получаю исключение, как

com.fasterxml.jackson.core.JsonParseException: 
Unexpected character (')' (code 41)): expected a valid value (number, String, array, object, 'true', 'false' or 'null') 

как я мог пропустить это символов или просто игнорировать часть JSON?

+0

Почему JSON недействителен? –

+0

Потому что он начинается с)]} ', и после комы у меня есть фактические данные –

+0

Да, но мой вопрос в том, почему в нем были недопустимые данные? Является ли источник что-то взломать? Всегда ли это одни и те же недопустимые данные или источник начнет отправлять некоторые другие недопустимые данные в какой-то день? и т. д. Во всяком случае, ответ Мэтта обращается к нему. –

ответ

0

Если известно, что плохой json, лучше всего предварительно обработать данные с помощью java bean или какого-либо шаблона, а затем передать его Jackson. Очень много просить библиотеку знать, как «получить именно то, что я хочу» из потока искаженных данных.

Смежные вопросы