java - 无法在 Lambda 函数之间传递有效的 JSON

标签 java aws-lambda

我在两个不同的 Java AWS Lambda 函数之间传递有效的 JSON 时遇到问题。第一个函数生成 rawJson“String”,其格式如下:

rawJson: [
  {
    "id": 1,
    "createdOn": 1535177185000,
    "text": "test text"
  }
]

这会传递给第二个 Lambda 函数:

request.withFunctionName(FUNCTION_NAME).withPayload(rawJson);
awsLambdaClient.invoke(request);

在第二个 Lambda 函数的开头,我打印输入对象的值:

inputObject: [{id=1, createdOn=1535177185000, text=test text}]

引号已被删除,这不再是有效的 JSON。任何尝试将此映射回我的 POJO(或者甚至让我的 Lambda 函数接受“字符串”,而不是“对象”)都会导致与 JSON 相关的异常。

为什么我的有效 JSON 在两个 Lambda 之间变得格式错误?

最佳答案

这是我的错。就像我提到的,我有一个像这样的 RequestHandler:

RequestHandler<Object, Void>

那是没有必要的。 Lambda 本身就足够智能,可以序列化和反序列化我的对象。我的代码更新为:

RequestHandler<List<MyClass>, Void>

关于java - 无法在 Lambda 函数之间传递有效的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52015333/

相关文章:

java - 给玩家体验

java - 如何使用 Spring Boot 配置 Sniffy?

java - Java 中的 Leap Motion 错过了点击手势

python - 解析数千种不同日志类型的最直观方法(使用 Python)?

node.js - Nodejs 模块化 aws-sdk v3 大小越来越大

java - Spring 安全: How to persist each anonymous user?

java - 检测 PNG 图像在处理中何时为 "wiped transparent"?

database - 每日条目的 Dynamodb 每日表转储

database - AWS : Why does my RDS instance keep starting after I turned it off?

node.js - NodeJs 不是在 MongoDb 中创建数据库吗?怎么解决呢?