gpt4 book ai didi

java - 返回 JSONObject,而 JSONArray 无法在 Amazon Lambda Java 函数中工作

转载 作者:太空宇宙 更新时间:2023-11-04 12:36:18 25 4
gpt4 key购买 nike

我创建了一个 Java lambda 函数并将该函数部署到 Amazon API gateway

我想返回带有内部 JSONArrayJSONObject

但我得到了 { } 空 JSONObject 作为响应。

如果我设置 jsonobjetc.toString() 作为响应,那将完美地工作。

但是如果我返回 JSONObject,我将返回空的 {} JSON 响应。

我错过了什么吗?

JSONObject mainJsonObject;

@Override
public Object handleRequest(Object input, Context context) {

inputHashMap = (LinkedHashMap) input;
responseJSON = new ResponseJSON();
mainJsonObject = new JSONObject();

saveDataToDynamoDB(inputHashMap);

return mainJsonObject;
}

public void saveDataToDynamoDB(LinkedHashMap inHashMap){

String login_id = (String) inputHashMap.get("login_id");
String first_name = (String) inputHashMap.get("first_name");
String last_name = (String) inputHashMap.get("last_name");

try{
DynamoDB dynamoDB = new DynamoDB(new AmazonDynamoDBClient());
Table tableUserDetails = dynamoDB.getTable(USER_PROFILE_TABLE);

Item userProfileTableItem = new Item().withPrimaryKey("login_id", login_id)
.withString("first_name", first_name).withString("last_name", last_name);

tableUserDetails.putItem(userProfileTableItem);

mainJsonObject.put("status", "Success");
mainJsonObject.put("message", "Profile saved successfully.");
mainJsonObject.put("login_id", login_id);
mainJsonObject.put("first_name", first_name);
mainJsonObject.put("last_name", last_name);

}catch(Exception e){
try {
mainJsonObject.put("status", "Failed");
mainJsonObject.put("message", "Failed to saved profile data.");
} catch (JSONException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

}
}

最佳答案

如果您从 Web 服务的 HTTP 请求调用此代码并在应用程序中捕获响应结果,则您的响应应采用字符串格式(JSON 对象的字符串表示形式)。获得字符串格式的响应后,将 JSON 字符串解析为 JSON 对象并执行进一步的逻辑。

关于java - 返回 JSONObject,而 JSONArray 无法在 Amazon Lambda Java 函数中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37297278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com