C# 在C中从AWS Lambda函数返回JSON#
问题:输出看起来像[{\'FirstName\':\'William Smith\'}] 问题:如何从用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函数时,返回: “
亚马逊在他们的网站和文档中有一些例子 相关位: 处理标准数据类型 下面列出的所有其他类型都要求您指定序列化程序
- 基本.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?如果我需要在属性名称中添加破折号,如“内容类型”,该怎么办?