当前位置: 首页 > 面试题库 >

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

万涵亮
2023-03-14
问题内容

既然没有JavaScriptSerializer,可以使用什么本机实现来处理呢?

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

或者,也许我缺少某些依赖项project.json


问题答案:

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

#using Newtonsoft.Json
....
JsonConvert.DeserializeObject(json);

请注意,使用WebAPI控制器,您无需处理JSON。

更新ASP.Net Core 3.0

Json.NET已从ASP.NET
Core 3.0共享框架中删除。

您可以在高性能Utf8JsonReader和之上使用新的JSON序列化器层Utf8JsonWriter。它从JSON反序列化对象并将对象序列化为JSON。内存分配保持最少,并包括支持使用Stream异步读取和写入JSON。

首先,请使用名称空间中的JsonSerializerSystem.Text.Json.Serialization。请参阅文档以获取信息和示例。

要在ASP.NET Core 3.0项目中使用Json.NET:

  • 添加对Microsoft.AspNetCore.Mvc.NewtonsoftJson的程序包引用
  • 更新ConfigureServices以调用AddNewtonsoftJson()。
    services.AddMvc()
        .AddNewtonsoftJson();
    

阅读Json.NET支持的迁移从ASP.NET核心2.2至3.0的第二个预览版的详细信息。



 类似资料:
  • 由于没有,可以使用什么本机实现来处理这个问题? 我注意到,我可以用它格式化数据到JSON,但是我如何反序列化? 或者我在?

  • 问题内容: 我正在使用大猩猩 websocket,并且正在计划使用json进行序列化/反序列化。 假设我有这样的结构来接收传入的消息: 和 大猩猩提供接收传入的消息。传入的消息可以是Foo或Bar,但是我不能使用和收听其他消息,这很混乱。我想要像javascript 这样的东西。如果接收到Foo,则如何处理传入消息,然后将其存储到结构中;如果接收到Bar,则将其存储到结构中? 我正在解决方案正在使

  • 问题内容: 我有以下JSON字符串要反序列化: 我正在使用DataContractJsonSerializer方法。 它由项目数组组成,我找不到使用VB.Net可以反序列化此结构的示例。我具有以下Application类来存储此信息: 问题答案: 我建议你使用过。原因如下: 更快 比简单的序列化需要更多的代码。 您无需将and 属性与 使用此数据类 并使用它反序列化您的: 如果仍要使用,则可以使用

  • 我有一个简单的问题,假设我有这个json 以这种方式映射: 我想知道是否可以通过使用一些自定义setter/注释或其他东西在内部对象中保存一个外部字段: PS:由于json的复杂性,使用自定义反序列化是我最后的选择

  • 我想解析这个json文件。 {“特征”:[{“类型”:“特征”,“几何”:“{“类型”:“多边形”,“坐标”:[[26.4217861898109,40.127607984644],[26.4219934821323,40.1275230229872],[26.4218810759267,40.1273800013679],[26.4216801413981,40.1274730404221],[

  • 我的JSON如下: 我找到了Newtonsoft JSON。NET为C#反序列化库。我试着使用它如下: 如何访问对象以获取所有“类型”数据?我尝试了一个循环,但它不起作用,因为对象没有枚举器。