Я написал метод в приложении Angular 2, который создает и возвращает Observable класса, после вызова сервера, который возвращает JSON. Однако JSON плохо отформатирован, поэтому мне нужно скорректировать исправление возвращенного JSON перед отправкой его на метод .json()
, который в настоящее время выдает ошибку из-за плохо отформатированного JSON.Как изменить данные, хранящиеся в RxJS, наблюдаемые?
В частности, мне нужно найти ошибочную запятую в JSON, которая появляется после закрытия скобки массива, и удалить ее.
Мой вопрос
Что именно следует, что функция Observable.map выглядеть? Как я могу найти и управлять фактической строкой JSON, а затем отправить ее? Я новичок во всем этом, поэтому детали будут оценены.
getList(): Observable<Thing[]> {
let response = this.http.get('/api/get-things');
let fixed = response.map(____WHAT GOES HERE?_____);
return fixed.map((r: Response) =>r.json as Thing[]);
}
Непонятно, что вы имеете в виду, но похоже, что еще одна карта на наблюдаемом будет достаточной. Либо перед вызовом метода JSON, если вам нужно изменить тело ответа или после этого, если вам нужно изменить результирующий объект. – jonrsharpe
Благодарим вас за отзыв. Я отредактировал вопрос, чтобы добавить более подробную информацию и более конкретно описать, что я хочу. –
Что вы пробовали поставить там? Вы пытались использовать отладчик или просто консоль, чтобы узнать, что вы получаете? Прочитайте документы в объекте ответа? Пожалуйста, дайте [mcve] конкретной проблемы. – jonrsharpe