我的SQL查询结果如下:
{
"statusCode": 200,
"success": true,
"messages": [
null
],
"data": {
"vistoria": {
"vistoria": {
"id": 1,
"usuario_id": 1,
"empresa_id": 4,
"vistoria_tipo_id": 1,
"veiculo_id": 3,
"cliente_id": 5,
"data": "17/07/2020 11:14"
},
"questionario": {
"id": 1,
"usuario_id": 1,
"empresa_id": 4,
"vistoria_id": 1,
"odometro": 123124,
"pertences_retirados": "S",
"nivel_combustivel": "4",
"campo_generico": {
"gen_antena": "OK",
"gen_calota": "NOK",
"gen_capota_maritima": "Q",
"gen_cartao_code": "NA"
},
"campo_pneu_cond": {
"pcd_pneu_de_cond": "NOVO",
"pcd_pneu_dd_cond": "BOM",
"pcd_pneu_te_cond": "BOM",
"pcd_pneu_td_cond": "NOVO"
},
"campo_pneu_marca": {
"pmc_pneu_de_marca_id": 27,
"pmc_pneu_dd_marca_id": 37,
"pmc_pneu_te_marca_id": 9999,
"pmc_pneu_td_marca_id": 9999
},
"campo_pneu_outros": {
"pot_pneu_te_marca_outros": "asdasdasd",
"pot_pneu_td_marca_outros": "asdasdasdddd"
}
},
"vistoria_tipo": "ENTREGA",
"veiculo_placa": "ASD1234",
"veiculo_modelo": "Palio",
"cliente_cpf": 12312312312,
"cliente_nome": "Paulo"
},
"num_imagens": 3,
"imagens": [
{
"id": 1,
"usuario_id": 1,
"empresa_id": 4,
"vistoria_id": 1,
"imagemRef": "assinaturaVistoriador",
"imagemUrl": "http://192.168.15.2/vistoria/preview/2020/07/4/1/png/rsz_0b967ef2e9bf2e603c72859c9fcf7d6d"
},
{
"id": 2,
"usuario_id": 1,
"empresa_id": 4,
"vistoria_id": 1,
"imagemRef": "Frente",
"imagemUrl": "http://192.168.15.2/vistoria/preview/2020/07/4/1/jpeg/rsz_ddb36b2719c88118cc5ee0d16c868534"
},
{
"id": 3,
"usuario_id": 1,
"empresa_id": 4,
"vistoria_id": 1,
"imagemRef": "assinaturaCliente",
"imagemUrl": "http://192.168.15.2/vistoria/preview/2020/07/4/1/png/rsz_95d414ee5fae24371a506f823196af86"
}
]
}
}
我写这样的接口:
export interface VistoriaInt {
success: boolean;
messages?: [''];
data?: {
vistoria: {
vistoria: {
id: number;
usuario_id: number;
empresa_id: number;
vistoria_tipo_id: number;
veiculo_id: number;
cliente_id: number;
data: Date;
};
questionario: {
id: number;
usuario_id: number;
empresa_id: number;
vistoria_id: number;
odometro: number;
pertences_retirados: string;
nivel_combustivel: string;
campo_generico: object;
campo_pneu_cond: object;
campo_pneu_marca: object;
campo_pneu_outros: object;
};
vistoria_tipo: string;
veiculo_placa: string;
veiculo_modelo: string;
cliente_cpf: number;
cliente_nome: string;
};
num_imagens: number;
imagens: [
{
id: number;
usuario_id: number;
empresa_id: number;
vistoria_id: number;
imagemRef: string;
imagemUrl: string;
}
]
};
}
但是当我尝试在'campo_generico'上做一个lop时,我遇到了这个错误: 类型“对象”必须具有“ Symbol.iterator”方法,该方法返回iterator.ts(2488)
如何解决此问题,我可以使用接口从sql数据库中检索此数据吗?
答案 0 :(得分:0)
'campo_generico'是一个对象,而不是数组。因此,您需要在该属性上以及在循环后的结果数组上使用Object.values() https://developer.mozilla.org/uk/docs/Web/JavaScript/Reference/Global_Objects/Object/values
或者您可以尝试“ for ... in”循环https://developer.mozilla.org/uk/docs/Web/JavaScript/Reference/Statements/for...in