Convierta json en objeto de clase en c #

Hola, tengo la siguiente respuesta json, cómo la convierto en un objeto de la clase ac

{ "err_code": "0", "org": "CGK", "des": "SIN", "flight_date": "20120719", "schedule": [ ["W2-888","20120719","20120719","1200","1600","03h00m","737-200","0",[["K","9"],["F","9"],["L","9"],["M","9"],["N","9"],["P","9"],["C","9"],["O","9"]]], ["W2-999","20120719","20120719","1800","2000","01h00m","MD-83","0",[["K","9"],["L","9"],["M","9"],["N","9"]]] ] } 

Primero crea una clase para representar tus datos json.

 public class MyFlightDto { public string err_code { get; set; } public string org { get; set; } public string flight_date { get; set; } // Fill the missing properties for your data } 

Usando el serializador JSON de Newtonsoft para deserializar una cadena json a su correspondiente objeto de clase.

 var jsonInput = "{ org:'myOrg',des:'hello'}"; MyFlightDto flight = Newtonsoft.Json.JsonConvert.DeserializeObject(jsonInput); 

O use JavaScriptSerializer para convertirlo en una clase ( no recomendado ya que el serializador newtonsoft json parece funcionar mejor ).

 string jsonInput="have your valid json input here"; // JavaScriptSerializer jsonSerializer = new JavaScriptSerializer(); Customer objCustomer = jsonSerializer.Deserialize(jsonInput) 

Suponiendo que desea convertirlo a la instancia de Classe del Customer . Tu clase debería ser similar a la estructura JSON (Propiedades)

Te recomiendo que uses JSON.NET . es una biblioteca de código abierto para serializar y deserializar sus objetos c # en objetos json y Json en objetos .net …

Ejemplo de serialización:

 Product product = new Product(); product.Name = "Apple"; product.Expiry = new DateTime(2008, 12, 28); product.Price = 3.99M; product.Sizes = new string[] { "Small", "Medium", "Large" }; string json = JsonConvert.SerializeObject(product); //{ // "Name": "Apple", // "Expiry": new Date(1230422400000), // "Price": 3.99, // "Sizes": [ // "Small", // "Medium", // "Large" // ] //} Product deserializedProduct = JsonConvert.DeserializeObject(json); 

Comparación de rendimiento con otras técnicas de serialización JSON enter image description here

Para crear una clase json de una cadena, copie la cadena.

En Visual Sudio, haga clic en Edición> Pegar especial> Pegar Json como clases.

Esto tomará una cadena json y la convertirá en cualquier clase que especifiques

 public static T ConvertJsonToClass(this string json) { System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); return serializer.Deserialize(json); }