C# 在C中从AWS Lambda函数返回JSON#

C# 在C中从AWS Lambda函数返回JSON#,c#,aws-lambda,C#,Aws Lambda,问题:输出看起来像[{\'FirstName\':\'William Smith\'}] 问题:如何从用C#编写的AWS Lambda函数返回格式良好的JSON字符串 详情: 我有一个用C写的AWS Lambda函数# 返回类型为“string” 目的是将返回类型作为JSON使用 这就是C#Lambda函数的编码返回: 字符串TestJsonEvent=“[{\“FirstName\”:\“William Smith\”}]”; 返回TestJsonEvent 执行Lambda函数时,返回: “

问题:输出看起来像[{\'FirstName\':\'William Smith\'}]

问题:如何从用C#编写的AWS Lambda函数返回格式良好的JSON字符串

详情:

  • 我有一个用C写的AWS Lambda函数#
  • 返回类型为“string”
  • 目的是将返回类型作为JSON使用
  • 这就是C#Lambda函数的编码返回:

    字符串TestJsonEvent=“[{\“FirstName\”:\“William Smith\”}]”; 返回TestJsonEvent

  • 执行Lambda函数时,返回: “[{\'FirstName\':\'William Smith\'}]”

  • 即使这种变化也会返回相同的结果:

    字符串TestJsonEvent=@“[{”“FirstName”“:”“William Smith”“}]”; 返回TestJsonEvent


  • 亚马逊在他们的网站和文档中有一些例子

    相关位:

    处理标准数据类型 下面列出的所有其他类型都要求您指定序列化程序

    • 基本.NET类型(如字符串或int)
    • 藏品和地图- IList,IEnumerable,IList,数组,IDictionary,IDictionary
    • POCO类型(普通旧CLR对象)
    • 预定义的AWS事件类型
    • 对于异步调用,返回类型将被忽略 Lambda。在这种情况下,返回类型可以设置为void
    • 如果你是 使用.NET异步编程,返回类型可以是任务和 任务类型和使用async和Wait关键字。有关详细信息, 看
    除非你的职能 输入和输出参数的类型为
    System.IO.Stream
    ,您将 需要序列化它们。AWS Lambda提供了一个默认序列化程序 可以在应用程序的程序集或方法级别应用,或者 您可以通过实现
    ILambdaSerializer
    Amazon.Lambda.Core
    库提供的接口

    要将默认序列化程序属性添加到方法,请首先添加对
    Amazon.Lambda.Serialization.Json
    […]的依赖项

    安装[1]NuGet包并导入一个引用到
    Amazon.Lambda.Serialization.Json
    名称空间

    public class Sample
    {
        [LambdaSerializer(typeof(Amazon.Lambda.Serialization.Json.JsonSerializer))]
        public object Test()
        {
            return new { FirstName = "William Smith" };
        }
    }
    
    [1] :

    此“文档”是一场灾难。“所有其他类型”--除了下面列出的类型之外?除了什么?您的示例将输出什么JSON?如果我需要在属性名称中添加破折号,如“内容类型”,该怎么办?