none
json RRS feed

  • Pregunta

  • Buenas estimados de la comunidad Microsoft:

    Este caso es uno de los primeros que tropiezo debe ser algo sencillo por favor tomar nota 

    Me llega un JSON por metodo httppost con el siguiente formato

    {

       "email":"MiguelTrombino@gmail.com",
        "contactFields":{
             "C16":"360049",
             "1":"PABLO",
             "2":"MAGNINO",
             "C18":"200000428",
             "C20":"06/11/2016 02:00:02 a.m.",
             "C15":"SQLDES"
          }
    }

    Como podeís notar la columna 1 y 2 me llega null obviamente porque mi clase es 

     public class ContactFields
        {
            public string C16 { get; set; }
            public string C1 { get; set;}
            public string C2 { get; set; }
            public string C18 { get; set; }
            public string C20 { get; set; }
            public string C15 { get; set; }
        }

    dado que el c# no te permite crear nombres numericos.

    Alguna idea.

    Agradezo un monton 

    Saludos

    Reghisbot

    miércoles, 23 de noviembre de 2016 19:27

Respuestas

  • Hola

    Podrias usar JObject de newtonsoft

    static void Main(string[] args)
            {
                string json = "{";
    
                json += "\"email\":\"MiguelTrombino @gmail.com\",";
                json += "\"contactFields\":{";
                json += " \"C16\":\"360049\",";
                json += "\"1\":\"PABLO\",";
                json += "\"2\":\"MAGNINO\",";
                json += "\"C18\":\"200000428\",";
                json += "\"C20\":\"06 /11/2016 02:00:02 a.m.\",";
                json += "\"C15\":\"SQLDES\"";
                json += "}";
                json += " }";
                JObject o = JObject.Parse(json);
             
                ContactFields objeto = new ContactFields();
                objeto.C16 = (string)o["contactFields"]["C16"];
                objeto.C1 = (string)o["contactFields"]["1"];
                objeto.C2 = (string)o["contactFields"]["2"];
                objeto.C18 = (string)o["contactFields"]["C18"];
                objeto.C20 = (string)o["contactFields"]["C20"];
                objeto.C15 = (string)o["contactFields"]["C15"];
            }

    http://www.newtonsoft.com/json

    Instalalo desde el nuget manager.

    Saludos

    miércoles, 23 de noviembre de 2016 21:26