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

时间:2018-08-25 08:20:20

标签: 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函数接受应该像其应的“ String”,而不是“ Object”)的尝试都会导致JSON相关异常。

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

1 个答案:

答案 0 :(得分:1)

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

RequestHandler<Object, Void>

那不是必需的。 Lambda本身很聪明,可以序列化和反序列化我的对象。我的代码更新为:

RequestHandler<List<MyClass>, Void>