Como no existe JavaScriptSerializer
, ¿qué implementación nativa se puede usar para manejar esto?
Me di cuenta JsonResult
y puedo formatear datos a JSON con esto, pero ¿cómo deserializo?
¿O tal vez me faltan algunas dependencias project.json
?
Como no existe JavaScriptSerializer
, ¿qué implementación nativa se puede usar para manejar esto?
Me di cuenta JsonResult
y puedo formatear datos a JSON con esto, pero ¿cómo deserializo?
¿O tal vez me faltan algunas dependencias project.json
?
Respuestas:
Puede usar Newtonsoft.Json
, es una dependencia de la Microsoft.AspNet.Mvc.ModelBinding
cual es una dependencia de Microsoft.AspNet.Mvc
. Por lo tanto, no necesita agregar una dependencia en su project.json.
#using Newtonsoft.Json
....
JsonConvert.DeserializeObject(json);
Tenga en cuenta que con un controlador WebAPI no necesita tratar con JSON.
Json.NET se ha eliminado del marco compartido ASP.NET Core 3.0.
Puede usar las nuevas capas de serializador JSON además del alto rendimiento Utf8JsonReader
y Utf8JsonWriter
. Deserializa objetos de JSON y serializa objetos a JSON. Las asignaciones de memoria se mantienen mínimas e incluyen soporte para leer y escribir JSON con Stream de forma asincrónica.
Para comenzar, use la JsonSerializer
clase en el System.Text.Json.Serialization
espacio de nombres. Consulte la documentación para obtener información y muestras.
Para usar Json.NET en un proyecto ASP.NET Core 3.0:
services.AddMvc()
.AddNewtonsoftJson();
Lea el soporte de Json.NET en Migrate from ASP.NET Core 2.2 to 3.0 Preview 2 para obtener más información.
Microsoft.AspNetCore.Mvc.Formatters.Json
tiene una dependencia Microsoft.AspNetCore.JsonPatch
que depende de Newtonsoft.Json
9.0.1 nuget.org/packages/Microsoft.AspNetCore.Mvc.Formatters.Json , nuget.org/packages/Microsoft.AspNetCore.JsonPatch
núcleo .net
using System.Text.Json;
var jsonStr = JsonSerializer.Serialize(MyObject)
var weatherForecast = JsonSerializer.Deserialize<MyObject>(jsonStr);
Para obtener más información sobre la exclusión de propiedades y valores nulos, consulte Este lado de Microsoft