当前位置: 首页 > 知识库问答 >
问题:

ASP中的JSON序列化/反序列化。网芯

鄂曦之
2023-03-14

由于没有JavaScriptSerializer,可以使用什么本机实现来处理这个问题?

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

或者我在项目中缺少一些依赖项。json

共有2个答案

元英朗
2023-03-14

.网芯

使用System.文本。json;

var jsonStr = JsonSerializer.Serialize(MyObject)
var weatherForecast = JsonSerializer.Deserialize<MyObject>(jsonStr);

有关排除属性和空值的详细信息,请查看此Microsoft端

奚才良
2023-03-14

您可以使用Newtonsoft。Json,它是微软的一个依赖项。AspNet。Mvc。ModelBinding是Microsoft的一个依赖项。AspNet。Mvc。因此,您不需要在项目中添加依赖项。json。

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

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

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

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

要开始使用,请在System中使用JsonSerializer类。文本。Json序列化命名空间。有关信息和示例,请参阅留档。

利用JsonNET在ASP. NET Core 3.0项目中:

  • 添加对Microsoft的包引用。AspNetCore.mvc.NewtonsoftJson
  • 更新配置服务以调用addNewtonsoftJson()。
    services.AddMvc()
        .AddNewtonsoftJson();

阅读Json。NET支持从ASP迁移。NET Core 2.2至3.0预览版2了解更多信息。

 类似资料:
  • 问题内容: 既然没有,可以使用什么本机实现来处理呢? 我注意到了,并且可以使用此格式将数据格式化为JSON,但是如何反序列化? 或者,也许我缺少某些依赖项? 问题答案: 您可以使用,它的依赖项是的依赖项。因此,您无需在project.json中添加依赖项。 请注意,使用WebAPI控制器,您无需处理JSON。 更新ASP.Net Core 3.0 Json.NET已从ASP.NET Core 3.

  • 问题内容: 我正在使用大猩猩 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#反序列化库。我试着使用它如下: 如何访问对象以获取所有“类型”数据?我尝试了一个循环,但它不起作用,因为对象没有枚举器。