I think that the object you received in your response payload isn’t an array. Perhaps the array you want to iterate is contained into an attribute. You should check the structure of the received data…
You could try something like that:
getusers() { this.http.get(`https://api.github.com/search/users?q=${this.input1.value}`) .map(response => response.json().items) // <------ .subscribe( data => this.users = data, error => console.log(error) ); }
Edit
Following the Github doc (developer.github.com/v3/search/#search-users), the format of the response is:
{ "total_count": 12, "incomplete_results": false, "items": [ { "login": "mojombo", "id": 1, (...) "type": "User", "score": 105.47857 } ] }
So the list of users is contained into the items
field and you should use this:
getusers() { this.http.get(`https://api.github.com/search/users?q=${this.input1.value}`) .map(response => response.json().items) // <------ .subscribe( data => this.users = data, error => console.log(error) ); }