【问题标题】:Does Amazon.Lambda.Serialization.Json.JsonSerializer respect JsonIgnoreAmazon.Lambda.Serialization.Json.JsonSerializer 是否尊重 JsonIgnore
【发布时间】:2021-05-01 18:59:21
【问题描述】:

我在使用 C# 在 AWS Lambda 上使用 ASPNET Core 进行反序列化时遇到错误。我的 lambda 程序集中有以下属性:

[assembly: LambdaSerializer(typeof(Amazon.Lambda.Serialization.Json.JsonSerializer))]

我在传入的对象(类)的某些属性上具有 [JsonIgnore] 属性。如果在它们的状态下调用这些属性,它们将抛出异常。

将对象传递给 ASPNET Core 控制器时(或从控制器返回值时)抛出异常。

我的理论是 [JsonIgnore] 属性没有得到尊重。我找不到与此相关的任何文档或其他 SO 线程。

你能证实/否认我的理论吗?有这方面的任何文件吗?谁能想到解决方法?

【问题讨论】:

标签: c# asp.net-core aws-lambda


【解决方案1】:

Amazon.Lambda.Serialization.Json.JsonSerializer 的来源表明它是“使用 Newtonsoft.Json 9.0.1 的自定义 ILambdaSerializer 实现”,它支持 JsonIgnoreAttribute ([JsonIgnore])。

Announcing AWS Lambda support for .NET Core 3.1 引入(并推荐)Amazon.Lambda.Serialization.SystemTextJson.DefaultLambdaJsonSerializer 的新 Lambda JSON 序列化程序,使用 System.Text.Json 内置在 .NET Core 框架中,该框架还支持 JsonIgnoreAttribute ([JsonIgnore])。

【讨论】:

    猜你喜欢
    • 2013-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-07
    • 1970-01-01
    • 1970-01-01
    • 2020-08-07
    • 2012-06-10
    相关资源
    最近更新 更多