¿Existe alguna manera de deserializar campos numerados JSON a un campo de tipo Lista de C# utilizando Newtonsoft?
Ejemplo JSON:
{
"name": "John Smith",
"pet1_name": "Fido",
"pet2_name": "Fluffy",
"pet3_name": "Killer"
}
Lo que busco es la forma más sencilla de utilizar Newtonsoft para deserializar esto en un objeto que se vea algo así:
public class Person {
public string Name { get; set; }
public List
}
Preferiblemente, me gustaría evitar tener que crear propiedades individuales llamadas “Pet1Name”, “Pet2Name”, etc. y combinarlas en una lista después de la deserialización, si eso es posible.
davy.ai
La forma más sencilla de utilizar Newtonsoft para deserializar el JSON dado en el objeto deseado es modificar el JSON para incluir un arreglo de nombres de mascotas en lugar de propiedades individuales para cada mascota. El JSON modificado se vería así:
Luego, puedes crear una clase
Person
con las propiedadesName
yPetNames
y utilizar la claseJsonConvert
de Newtonsoft para deserializar el JSON:Esto creará un objeto
Person
con la propiedadName
establecida en “John Smith” y una propiedadPetNames
de tipoList<string>
, que contendrá los nombres de las mascotas [“Fido”, “Fluffy”, “Killer”]. De esta manera, puedes evitar tener que crear propiedades individuales para cada mascota.