【问题标题】:Return indented JSON from AWS Lambda function?从 AWS Lambda 函数返回缩进的 JSON?
【发布时间】:2016-12-01 04:33:08
【问题描述】:

我在 java 中设置了我的 lambda 函数:

public class Handler implements RequestHandler <Request, List <Response>>
{
    public List <Response> handleRequest (Request request, Context context)
    {                       
        List <Response> userList = new ArrayList <Response>();

        for (int i = 0; i < values.length; i++)
        {
            Response user = new Response();
            user.setUserID (Integer.parseInt (values[i][0]));
            user.setUserTypeName (values[i][1]);
            user.setUserEmail (values[i][2]);
            user.setUserFirstName (values[i][3]);
            user.setUserLastName (values[i][4]);
            user.setUserRole (values[i][5]);
            user.setActiveYN (values[i][6]);
            userList.add (user);
        }
        return userList;
    }
}

AWS API Gateway 做了它的事,它返回一个虚拟对象数组就好了:

[{"userID":1,"userTypeName":"Adminstrator","userEmail":"joesmiley@gmail.com","userFirstName":"Joe","userLastName":"Smiley","userRole":"n/a","activeYN":"y"},
{"userID":2,"userTypeName":"Manager","userEmail":"sandyjones@gmail.com","userFirstName":"Sandy","userLastName":"Jones","userRole":"n/a","activeYN":"y"},
{"userID":3,"userTypeName":"Manager","userEmail":"jasonsmith@gmail.com","userFirstName":"Jason","userLastName":"Smith","userRole":"n/a","activeYN":"y"},
{"userID":4,"userTypeName":"Manager","userEmail":"neoanderson@gmail.com","userFirstName":"Neo","userLastName":"Anderson","userRole":"n/a","activeYN":"y"}]

问题是我很注重整洁,所以这个退货服务需要空格!据我所知,我的 java 方法只能控制信息,不能控制表示。这个小调整可行吗?

编辑

尝试返回 JSONArray;结果一样。

JSONArray indentedReturn = new JSONArray();
indentedReturn.addAll (userList);
return indentedReturn;

【问题讨论】:

  • 那个空白将是额外的字节。在接收器处为自己重新格式化结果很容易。或者,您可以实现格式化 in AWS 并返回格式化的 json 字符串?

标签: amazon-web-services aws-lambda aws-api-gateway


【解决方案1】:

如果您确实需要缩进,您应该在显示 JSON 之前在客户端执行此操作,而不是通过网络发送空格和换行符。如果出于某种原因这不是一个选项,您可以在 lambda 函数中将对象格式化为 JSON 字符串并返回字符串而不是列表。

【讨论】:

    猜你喜欢
    • 2021-08-24
    • 2021-11-01
    • 2021-08-22
    • 1970-01-01
    • 1970-01-01
    • 2022-10-14
    • 2019-08-21
    • 2020-09-03
    • 1970-01-01
    相关资源
    最近更新 更多