j'ai une réponse JSON du serveur distant de cette façon:
{
"string": [
{
"id": 223,
"name": "String",
"sug": "string",
"description": "string",
"jId": 530,
"pcs": [{
"id": 24723,
"name": "String",
"sug": "string"
}]
}, {
"id": 247944,
"name": "String",
"sug": "string",
"description": "string",
"jlId": 531,
"pcs": [{
"id": 24744,
"name": "String",
"sug": "string"
}]
}
]
}
Afin d'analyser la réponse, pour lister le "nom" et la "description", j'ai écrit ce code:
interface MyObj {
name: string
desc: string
}
let obj: MyObj = JSON.parse(data.toString());
Ma question est de savoir comment obtenir le nom et la description dans une liste qui peut être affichée.
Vous avez donné un type incorrect à vos données analysées. Devrait être quelque chose comme ça:
interface MyObj {
name: string
description: string
}
let obj: { string: MyObj[] } = JSON.parse(data.toString());
Ce n'est donc pas MyObj
, c'est un objet avec la propriété string
contenant un tableau de MyObj
. Que vous pouvez accéder à ces données comme ceci:
console.log(obj.string[0].name, obj.string[0].description);
Au lieu d'utiliser un type anonyme, vous pouvez également définir interface
pour cela:
interface MyRootObj {
string: MyObj[];
}
let obj: MyRootObj = JSON.parse(data.toString());