[Json.NET] [1] es un popular marco JSON de alto rendimiento para .NET. Es un ensamblado .Net que expone una amplia variedad de clases y métodos para ayudar a realizar tareas comunes con datos json.
Esto incluye la capacidad de hacer cosas como serializar datos json en instancias de clase, archivos de datos así como deserializar datos json que pueden provenir de muchas fuentes diferentes, como desde un punto final de API o desde archivos de datos .json
.
Versión | Fecha de lanzamiento |
---|---|
Json.NET 9.0.1 (versión actual) | 2016-06-22 |
Json.NET 8.0.3 | 2016-03-14 |
Json.NET 8.0.2 | 2016-01-09 |
Json.NET 8.0.1 | 2015-12-29 |
Json.NET 7.0.1 | 2015-06-22 |
Json.NET 6.0.8 | 2015-01-11 |
Json.NET 6.0.7 | 2014-12-23 |
Json.NET 6.0.6 | 2014-10-24 |
Json.NET 6.0.5 | 2014-09-06 |
Json.NET 6.0.4 | 2014-08-03 |
Json.NET 6.0.3 | 2014-04-27 |
Json.NET 6.0.2 | 2014-03-30 |
Json.NET 6.0.1 | 2014-02-01 |
Json.NET 5.0.8 | 2013-10-17 |
Json.NET 5.0.7 | 2013-10-14 |
Json.NET 5.0.6 | 2013-06-06 |
Json.NET 5.0.5 | 2013-05-08 |
Json.NET 5.0.4 | 2013-04-25 |
Json.NET 5.0.3 | 2013-04-14 |
Json.NET 5.0.2 | 2013-04-08 |
Json.NET 5.0.1 | 2013-04-07 |
Json.NET 4.5.11 | 2012-11-20 |
Json.NET 4.5.10 | 2012-10-07 |
Json.NET 4.5.9 | 2012-09-08 |
Json.NET 4.5.8 | 2012-08-04 |
Json.NET 4.5.7 | 2012-06-09 |
Json.NET 4.5.6 | 2012-05-30 |
Json.NET 4.5.5 | 2012-05-08 |
Json.NET 4.5.4 | 2012-04-24 |
Json.NET 4.5.3 | 2012-04-13 |
Json.NET 4.5.2 | 2012-04-11 |
Json.NET 4.5.1 | 2012-03-20 |
Json.NET 4.0.8 | 2012-02-12 |
Json.NET 4.0.7 | 2012-01-24 |
Json.NET 4.0.6 | 2012-01-23 |
Json.NET 4.0.5 | 2011-12-10 |
Json.NET 4.0.4 | 2011-11-19 |
Json.NET 4.0.3 | 2011-10-02 |
Json.NET 4.0.2 | 2011-04-23 |
Json.NET 4.0.1 | 2011-04-22 |
Json.NET 3.5.8 | 2011-01-08 |
El siguiente ejemplo muestra cómo puede deserializar una cadena JSON que contiene un objeto (es decir, en una instancia de una clase).
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
public class Program
{
public class Employee
{
public string FirstName { get; set; }
public string LastName { get; set; }
public bool IsManager { get; set; }
public DateTime JoinedDate { get; set; }
public IList<string> Titles { get; set; }
}
public static void Main()
{
string json = @"{
'FirstName': 'Shiva',
'LastName': 'Kumar',
'IsManager': true,
'JoinedDate': '2014-02-10T00:00:00Z',
'Titles': [
'Sr. Software Engineer',
'Applications Architect'
]
}";
Employee employee = JsonConvert.DeserializeObject<Employee>(json);
Console.WriteLine(employee.FirstName);
Console.WriteLine(employee.LastName);
Console.WriteLine(employee.JoinedDate);
foreach (string title in employee.Titles)
{
Console.WriteLine(" {0}", title);
}
}
}
Si ejecuta este programa de consola, la salida de las distintas sentencias de Console.WriteLine
será la siguiente.
Shiva
Kumar
2/10/2014 12:00:00 AM
Sr. Software Engineer
Applications Architect
Algunas cosas a tener en cuenta
employee
instancia de objeto del Employee
clase. Employee employee = JsonConvert.DeserializeObject<Employee>(json);
employee.Titles
es un tipo List<string>
, usamos la construcción de bucle foreach
para recorrer cada elemento de esa List
. Puede instalar Json.Net en su proyecto de Visual Studio de 1 de 2 maneras.
o haciendo clic en Ver -> Otras ventanas -> Consola del Administrador de paquetes .
Install-Package Newtonsoft.Json
Newtonsoft.Json
es Newtonsoft.Json
¡Json.Net ahora está listo para usar en tu proyecto!
También puede instalar json.net utilizando el Explorador de soluciones en Visual Studio.
Haga clic derecho en el nodo Referencias en su proyecto y haga clic en Administrar paquetes Nuget ...
En el cuadro de diálogo Gestor de paquetes Nuget , asegúrese de que la opción En línea esté seleccionada en el panel izquierdo. Escriba Json.Net en el cuadro de búsqueda en la parte superior derecha. Esto mostrará el paquete Json.Net Nuget en el panel de resultados de búsqueda en el centro.
Haga clic en el botón Instalar .
Newtonsoft.Json
en el nodo Referencias en su explorador de soluciones para su proyecto seleccionado. Esto completa la instalación de Json.Net. Ahora está listo para usarlo en su proyecto para realizar varias operaciones en datos json.
El siguiente ejemplo muestra cómo puede usar Json.Net para serializar los datos en una instancia de C # Object, a la cadena JSON.
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
public class Employee
{
public string FirstName { get; set; }
public string LastName { get; set; }
public bool IsManager { get; set; }
public DateTime JoinedDate { get; set; }
public IList<string> Titles { get; set; }
}
public class Program
{
public static void Main()
{
Employee employee = new Employee
{
FirstName = "Shiva",
LastName = "Kumar",
IsManager = true,
JoinedDate = new DateTime(2013, 1, 20, 0, 0, 0, DateTimeKind.Utc),
Titles = new List<string>
{
"Sr. Software Engineer",
"Applications Architect"
}
};
string json = JsonConvert.SerializeObject(employee, Formatting.Indented);
Console.WriteLine(json);
}
}
Si ejecuta este programa de consola, la salida de Console.WriteLine(json)
será
{
"FirstName": "Shiva",
"LastName": "Kumar",
"IsManager": true,
"JoinedDate": "2013-01-20T00:00:00Z",
"Titles": [
"Sr. Software Engineer",
"Applications Architect"
]
}
Algunas cosas a tener en cuenta
La siguiente línea realiza la serialización real de los datos dentro de la instancia de clase de employee
en una cadena json
string json = JsonConvert.SerializeObject(employee, Formatting.Indented);
El parámetro Formatting.Indented
le dice a Json.Net que serialice los datos con sangría y nuevas líneas. Si no lo hace, la cadena serializada será una cadena larga sin sangría ni saltos de línea.