正确显示嵌套的Json

问题描述 投票:0回答:1

我有一个Angular 4应用程序,我从一个终点获得JSON数据显示。

这是我的回答:

[
{
    "Pagamento": {
        "numeroCartao": "1111 2222 3333 4444",
        "valor": "123,52",
        "nome": "Bruno Vieira",
        "codigoSeguranca": "123",
        "quantidadeParcelas": 6,
        "validade": "11/2023"
    },
    "Configuracao": {
        "receberNovidades": true,
        "aceitaTermos": true
    },
    "Endereco": {
        "estado": "SP",
        "cidade": "São Paulo",
        "numero": "298",
        "logradouro": "Ailson Simoes",
        "cep": "04652228"
    },
    "cpf": "14540501609",
    "Atributos": {
        "masculino": true,
        "Tamanho": {
            "calcado": 38,
            "short": "GG",
            "camiseta": "GG"
        }
    },
    "id": "368b8057-d86f-7c18-d9da17b2ccfd",
    "Cliente": {
        "celular": "953688026",
        "nome": "Bruno",
        "apelido": "B",
        "sobrenome": "Vieira Campos",
        "email": "[email protected]"
    }
}

]

这是我的服务:

export class ClientesService {
    constructor(private http: Http){}

    clientes(): Observable<Cliente[]>{
       return this.http.get(`URL`)
                       .map(response => response.json())
    }
}

模型客户端

export interface Cliente {
id: string
nome: string
sobrenome: string
apelido: string
email: string
cpf: string
celular: string
dataNasc: string
cep: string
logradouro: string
numero: number
bairro: string
cidade: string
complemento: string
estado: string
preferencia: string
tamanhoCalcado: string
tamanhoCamisa: string
tamanhoTop: string
tamanhoCalcao: string

}

这是我的客户端组件(我从Observable订阅事件)

export class ClientesComponent implements OnInit {

  @Input() clientes: Cliente[]

  constructor(private clientesService: ClientesService) { }

  ngOnInit() {
    this.clientesService.clientes()
      .subscribe(clientes => this.clientes = clientes)
  }

}

视图:

 <tr *ngFor="let cliente of clientes">
              <td>{{cliente.nome}}</td>
              <td>Costa</td>
</tr>              

我只能显示CPF属性,因为它位于文档的根目录中。例如,我如何显示“Configuração”中的属性?我尝试了很多方法。

javascript json angular
1个回答
1
投票

对于嵌套对象,可以使用点符号链接显示它们

"Pagamento": {
    "numeroCartao": "1111 2222 3333 4444",
    "valor": "123,52",
    "nome": "Bruno Vieira",
    "codigoSeguranca": "123",
    "quantidadeParcelas": 6,
    "validade": "11/2023"
},
"Configuracao": {
    "receberNovidades": true,
    "aceitaTermos": true
},
"Endereco": {
    "estado": "SP",
    "cidade": "São Paulo",
    "numero": "298",
    "logradouro": "Ailson Simoes",
    "cep": "04652228"
},

<tr *ngFor="let cliente of clientes">
              <td>{{cliente.Pagamento.numeroCartao}}</td>
              <td>{{cliente.Pagamento.valor}}</td>

</tr>

像这样。

© www.soinside.com 2019 - 2024. All rights reserved.