正确显示嵌套的Json

时间:2018-01-23 14:33:21

标签: javascript json angular

我有一个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": "teste@gmail.com"
    }
}

这是我的服务

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

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

Cliente Model

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”中的属性?我尝试了很多方法。

1 个答案:

答案 0 :(得分: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>

喜欢这个。