Если вы выполняете запрос с angular http-клиентом, поведение по умолчанию состоит в том, что вы возвращаете тело ответа как json объект ... Таким образом, вы можете просто прочитать его свойства, то есть:
http.get('test.de').subscribe( (res) => { let test = res.result});
console.log(test);
Итак, какой язык / рамки вы используете?
Если вы получите объект ответа, как описано в нашем комментарии через "res. json ()", он будет таким же, вы можете прочитать его свойства ... Я не думаю, что необходимо делать json декодирование, потому что это уже должен быть json объект. Если вы пишете в TypeScript, компилятору может не понравиться то, что он не знает определения объекта, но вы можете просто привести тип ответа к любому, объекту или json, и он должен работать!
РЕДАКТИРОВАТЬ: поскольку это AngularJS, а не Angular2 +, тело ответа находится в свойстве, называемом «data» объекта ответа angular http, и типы не имеют значения, потому что оно простое js, поэтому вызов должен выглядеть следующим образом:
http.get('test.de').subscribe( (res) => { let test = res.data.result});
console.log(test); // => Output: 204
EDIT2: Если это так, я ошибся, и вы пишете на машинописном тексте, и вы используете текущий выпуск angular и не angularJS вы должны были бы разыграть кого-либо первым! Но было бы лучше создать интерфейс или класс, описывающий ответ ...
Не очень красивый способ:
http.get<any>('test.de').subscribe( (res) => { let test = res.result});
ИЛИ
http.get('test.de').subscribe( (res: any) => { let test = res.result});
Более симпатично путь:
interface BasicApiResponse {
result: JSON | string | number | any; // => here it depends on the specific request...
id: number;
jsonrpc: string;
}
Тогда вы можете сделать s.th. как:
http.get<BasicApiResopnse>('test.de').subscribe( (res: BasicApiResopnse) => { let test = res.result});