I'm using Http.get to retrieve information via json format via angular 2.
Here's a service I'm using to get the json data which works:
getProd() {
    return this._http.get('https://restcountries.eu/rest/v1/capital/tallinn')
        .map(res => res.json());   
}
Then in the component constructor I'm using:
this._etsyService.getProd().subscribe(product => {
        this.product = product;
    });
Then in the view template, if I specify:
{{ product | json }}
I get in the browser a raw json printout:
[ { "name": "Estonia", "topLevelDomain": [ ".ee" ], "alpha2Code": "EE", "alpha3Code": "EST", "callingCodes": [ "372" ], "capital": "Tallinn", 
However, if I try to change {{ product, to {{ product.name }} for instance (with and without the pipe | json at the end, I get an error that it cannot read property 'name' of undefined?
I'm new to Angular, and I'm sure it's just a parsing issue I'm coming up with. I've tried a ton of combinations.
Help?

product.nameis undefined. You using pipe| jsonto convert it toJSONformat, if not it will raise your error. Just use pipe| jsonor place*ngIf="product"directive will solved the problem