我无法在两个不同的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之间变得格式错误?
答案 0 :(得分:1)
这是我的错。就像我提到的,我有一个像这样的RequestHandler:
RequestHandler<Object, Void>
那不是必需的。 Lambda本身很聪明,可以序列化和反序列化我的对象。我的代码更新为:
RequestHandler<List<MyClass>, Void>