Я использую IBM Worklight Studio и пытаюсь создать HTTP-адаптер, который извлекает объект JSON с внешнего HTTP-сервера.Ошибка HTTP-адаптера «Runtime: не удалось разобрать строку JSON»
Когда я только доступ к серверу HTTP цели с HTTP Получить доступ (с браузером, например), я знаю, что их ответ, как следующий стиль массива формат JSON:
[
{ "xxx":"aaa", "yyy":"bbb", ... },
{ "xxx":"ccc", "yyy":"ddd", ... },
:
{ "xxx":"eee", "yyy":"fff", ... }
]
И я создал HTTP адаптер, который будет получить информацию выше
var input = {
method : 'get',
returnedContentType : 'json',
path : path
};
return WL.Server.invokeHttp(input);
Теперь я попытался вызвать этот адаптер с "Run As -> Invoke Worklight Процедура", то я получил сообщение об ошибке:
{
"errors": [
"Runtime: Failed to parse JSON string\n\n[\n {\n
(raw JSON data) } ],
"info": [],
"isSuccessful": false,
"warnings": []
}
И в моем журнале консоли, Worklight говорит следующее сообщение об ошибке:
FWLSE0101E: Caused by: java.io.IOException: Expecting '{' on line 2, column 2 instead, obtained token: 'Token: ['
Из выше информации, кажется, что Worklight бы ожидать, что возвращаемый объект JSON нужно начать с «{», а не «[».
Действительно ли это мое предположение? Есть ли обходной путь для этого?
Спасибо за продвижение.
Просто убедитесь, что ответ, исходящий с целевого сервера, начинается с '\ n'? –
Да. Самая первая строка - это просто '\ n', а вторая строка начинается с" [". – user2133963