Во-первых, я бы создал класс и, возможно, интерфейс для предоставления вам строго типизированных объектов в вашем TypeScript:
Затем вы можете вернуть объект из запроса get в качестве этого объекта и использовать его так, как хотитенапример, result.restaurantName
Быстрый пример того, как это выглядит (с использованием метода заглушки вместо http) здесь:
Короче говоря:
класс и интерфейс для Angular:
export interface IRestaurant {
restaurantId: number;
restaurantName: string;
restaurantAddres: string;
}
export class Restaurant implements IRestaurant {
restaurantId:number;
restaurantName:string;
restaurantAddres:string;
}
А затем компонент, который получает данные через метод и использует по существу JSON в качестве объекта:
export class AppComponent {
favoriteRestaurant: IRestaurant;
retrieve(){
this.favoriteRestaurant = this.getRestaurant();
alert(this.favoriteRestaurant.restaurantName);
}
getRestaurant():IRestaurant {
var result: Restaurant = {
restaurantId: 1,
restaurantName: 'Mcdonalds',
restaurantAddres: 'Kalverstraat 5'
};
return result;
}
}
Создание егоболее полезным для вас, однако, измените метод http.get на что-то вроде этого:
ngOnInit() {
this.http.get('http://localhost:8080/aquadine-jee/resources/restaurant')
.subscribe(
val:IRestaurant => {
this.favoriteRestaurant = val;
console.log(restStr.restaurantName);
);
Вы не хотите использовать JSON.stringify выше, потому что это дает вам строку!Кроме того, ваш адрес ресторана введен неправильно, они должны точно соответствовать.Поэтому я бы исправил бэкэнд.