Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

547
Vistas
Angular: no se puede encontrar un objeto de soporte diferente '[objeto Objeto]'

Estoy siguiendo este tutorial . En el camino para obtener la lista de usuarios de api.github, obtengo un error:

No se puede encontrar un objeto de soporte diferente '[objeto Objeto]'

Creo que está relacionado con

 <ul> <li *ngFor = "#user of users"> {{user | json}} </li> </ul>

En mi código porque antes no había ningún error, y no estoy seguro de si los datos provienen de la solicitud de obtención, solo hacer clic no dio ningún error, aquí está mi código hasta ahora

 @Component({ selector: 'router', pipes : [], template: ` <div> <form [ngFormModel] = "searchform"> <input type = 'text' [ngFormControl]= 'input1'/> </form> <button (click) = "getusers()">Submit</button> </div> <div> <ul> <li *ngFor = "#user of users"> {{user | json}} </li> </ul> </div> <router-outlet></router-outlet> `, directives: [FORM_DIRECTIVES] }) export class router { searchform: ControlGroup; users: Array<Object>[]; input1: AbstractControl; constructor(public http: Http, fb: FormBuilder) { this.searchform = fb.group({ 'input1': [''] }) this.input1 = this.searchform.controls['input1'] } getusers() { this.http.get(`https://api.github.com/ search/users?q=${this.input1.value}`) .map(response => response.json()) .subscribe( data => this.users = data, error => console.log(error) ) } } bootstrap(router, [HTTP_PROVIDERS])
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Creo que el objeto que recibió en su carga útil de respuesta no es una matriz. Tal vez la matriz que desea iterar esté contenida en un atributo. Debería comprobar la estructura de los datos recibidos...

Podrías intentar algo así:

 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) ); }

Editar

Siguiendo el documento de Github (developer.github.com/v3/search/#search-users), el formato de la respuesta es:

 { "total_count": 12, "incomplete_results": false, "items": [ { "login": "mojombo", "id": 1, (...) "type": "User", "score": 105.47857 } ] }

Entonces, la lista de usuarios está contenida en el campo de items y debe usar esto:

 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) ); }
over 4 years ago · Santiago Trujillo Denunciar

0

Recibí este error en mi código porque no ejecuté JSON.parse(result) .

Entonces mi resultado fue una cadena en lugar de una matriz de objetos.

es decir, tengo:

 "[{},{}]"

en vez de:

 [{},{}]

 import { Storage } from '@ionic/storage'; ... private static readonly SERVER = 'server'; ... getStorage(): Promise { return this.storage.get(LoginService.SERVER); } ... this.getStorage() .then((value) => { let servers: Server[] = JSON.parse(value) as Server[]; } );
over 4 years ago · Santiago Trujillo Denunciar

0

La falta de corchetes alrededor de la propiedad de entrada puede causar este error. Por ejemplo:

 Component Foo { @Input() bars: BarType[]; }

Correcto:

<app-foo [bars]="smth"></app-foo>

Incorrecto (error de activación):

<app-foo bars="smth"></app-foo>

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda