【发布时间】:2016-08-27 22:56:42
【问题描述】:
我正在关注 AWS Lambda tutorial。我创建了一个 Lambda 函数,它将一个自定义类作为输入并输出另一个自定义类。在输入测试数据时,我收到 JSON 解析错误。
public class HelloPojo implements RequestHandler<RequestClass, ResponseClass>{
@Override
public ResponseClass handleRequest(RequestClass request, Context context){
String greetingString = String.format("Hello %s, %s.", request.firstName, request.lastName);
return new ResponseClass(greetingString);
}
}
这是测试输入{ "firstName":"John", "lastName":"Doe" }。我相信 AWS 需要 json 格式的输入,然后解析它。下面是自定义的requestclass对象:
public class RequestClass {
String firstName;
String lastName;
public RequestClass(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
public RequestClass() {
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
这是错误信息:
"errorMessage": "An error occurred during JSON parsing",
"errorType": "java.lang.RuntimeException",
"stackTrace": [],
"cause": {
"errorMessage": "org/json/simple/JSONObject",
"errorType": "java.lang.NoClassDefFoundError",
这是响应类:
public class ResponseClass {
String greetings;
public ResponseClass(String greetings) {
this.greetings = greetings;
}
public ResponseClass() {
}
public String getGreetings() {
return greetings;
}
public void setGreetings(String greetings) {
this.greetings = greetings;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
【问题讨论】:
-
请将`json-simple-1.1.jar`添加到库中。如果已经存在,则清理您的工作区并重建您的项目。它会对你很好。 @suku
-
这就是问题所在!由于所有输入都是 json,它应该已经包含在 lambda 构建库中。你能写下你的评论作为答案吗?
-
我已将此评论添加为答案..
标签: java json amazon-web-services aws-lambda