【问题标题】:JSON parsing error when using Custom Class in AWS Lambda在 AWS Lambda 中使用自定义类时出现 JSON 解析错误
【发布时间】: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


【解决方案1】:

如果您看到收到的错误消息为 json。你会得到你的答案。

     "errorMessage": "org/json/simple/JSONObject",
     "errorType": "java.lang.NoClassDefFoundError",

错误类型 :- NoClassDefFoundError 异常意味着,在运行时,当依赖 jar 尝试链接名为 org.json.simple.JSONObject 的类时。它不会在您的library 中找到。

解决方案

请将json-simple-1.1.jar 添加到库中。如果已经存在,则清理您的工作区并重建您的项目。它会对你很好。

【讨论】:

    猜你喜欢
    • 2019-10-25
    • 1970-01-01
    • 2018-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-23
    • 2023-01-12
    • 2021-07-07
    相关资源
    最近更新 更多