none
¿Como convertir varias listas a varios schemas Json? RRS feed

  • Pregunta

  • Buen día tengo varias listas, y cada lista la quiero convertir a un schema asi como este ejemplo: donde ProdSet1,ProdSet2 son listas diferentes:

    {
       "ProdSet1":[
          {
             "Name": "Product 1-1",
             "Price": 20,
             "Quantity": 50,
             "Change": 4
          },
          {
             "Name": "Product 1-2",
             "Price": 14,
             "Quantity": 74,
             "Change": 5
          }
       ],
       "ProdSet2":[
          {
             "OtherName": "Product 2-1",
             "OtherPrice": 15,
             "OtherQuantity": 12,
             "OtherChange": 2
          }
       ]
    }

    quiero enviar el mismo Json , pero con diferentes Schemas, gracias de antemano por su colaboración.

    jueves, 21 de mayo de 2015 17:53

Todas las respuestas

  • Pero en JSON no existen Schemas, tal como hay (por ejemplo) en XML. JSON es simplemente un formato de serialización de datos, y no está sujeto a un esquema, admite cualquier combinación arbitraria de datos.

    Si no quieres generar el JSON tú mismo mediante un bucle que vaya concatenando strings, entonces la alternativa es insertar todos los datos en una clase y luego usar un serializador JSON para generar el texto JSON. Para eso, simplemente "ensambla" una clase que tenga la misma estructura que el JSON que quieres generar. En concreto, el ejemplo que has puesto se podría construir con una clase como esta:

    public class Prueba
    {
        public List<clase1> ProdSet1 { get; set; }
        public List<clase2> ProdSet2 { get; set; }
    }

    Una vez cargada de datos, la serializas y ya está.

    jueves, 21 de mayo de 2015 20:39
  • hola

    si usas

    http://json2csharp.com/

    podrias mapear el json a como deberias definir las clase

    veras que dentro de la clase principal hay dos listas 

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 21 de mayo de 2015 21:02