Desserializando a matriz JSON em um objeto .NET fortemente tipado
Quando eu posso chamar a API de terceiros e recuperar uma única classe de dados, tudo desserializa bem usando esse código
TheUser me = jsonSerializer.Deserialize(response, typeof(TheUser)) as TheUser
O problema surge quando tento desserializar o conteúdo de resposta JSON que é uma matriz, como
{
"data": [
{
"name": "A Jones",
"id": "500015763"
},
{
"name": "B Smith",
"id": "504986213"
},
{
"name": "C Brown",
"id": "509034361"
}
]
}
Eu só posso fazer a serialização funcionar se eu usar uma classe de agrupamento personalizada em torno do membro "data" e esse membro precisar ser do tipoList<object>
. Se os tiver como tipoList<TheUser>
Eu receboArgumentException
deJsonParser DesializeType
método.
Eu originalmente tentei serializar sem um tipo de empacotamento como este
List<TheUser> freinds = jsonSerializer.Deserialize(response, typeof(List<TheUser>)) as List<TheUser>;
mas isso me devolve uma coleção vazia. Certamente eu devo poder desserializar a matriz para uma lista fortemente tipad