ASP.Net Core中的JSON序列化/反序列化

Jak*_*ski 114 c# json asp.net-core

既然没有JavaScriptSerializer,可以用什么原生实现来处理这个问题?

我注意到JsonResult,我可以使用它将数据格式化为JSON,但是如何反序列化?

或许我错过了一些依赖关系project.json

agu*_*ars 214

你可以使用Newtonsoft.Json它,它的依赖是Microsoft.AspNet.Mvc.ModelBinding它的依赖Microsoft.AspNet.Mvc.因此,您不需要在project.json中添加依赖项.

#using Newtonsoft.Json
....
JsonConvert.DeserializeObject(json);
Run Code Online (Sandbox Code Playgroud)

注意,使用WebAPI控制器不需要处理JSON.

  • @RomanPokrovskij,错误,:`Microsoft.AspNetCore.Mvc.Formatters.Json`依赖于`Microsoft.AspNetCore.JsonPatch`,它依赖于`Newtonsoft.Json` 9.0.1 https://www.nuget.org /packages/Microsoft.AspNetCore.Mvc.Formatters.Json/,https://www.nuget.org/packages/Microsoft.AspNetCore.JsonPatch/ (9认同)

Nol*_*osi 36

.net core

using System.Text.Json;

To serialize

var jsonStr = JsonSerializer.Serialize(MyObject)
Run Code Online (Sandbox Code Playgroud)

Deserialize

var weatherForecast = JsonSerializer.Deserialize<MyObject>(jsonStr);
Run Code Online (Sandbox Code Playgroud)

For more information about excluding properties and nulls check out This Microsoft side

  • 你知道如何将json反序列化为动态类型吗? (2认同)