json请求更改aws lambda中的json结构

时间:2017-01-03 15:44:21

标签: python json aws-lambda

我是Lambda的新手,我很难找到解决方案,不知道该怎么办。我有lambda处理函数。我的代码是以这样的方式设计的,它只与最后一个值一起使用。如果我在控制台内传递数据,如:

Data=[['1700','340','2040']]

并将其传递给lambda函数。它工作正常。但是当我使用API​​在配置测试事件中将数据作为API请求传递并打印数据时,它会更改json结构。

测试事件中的json数据:

{
    "sum_net": 1700,
    "sum_tax": 340,
    "sum_gross": 2040
}

处理程序功能:

def handler(event,extract)

data= event.values()

return 

结果更改json对象顺序。值与手动定义的字典不同。是否有任何方法可以保持结构相同。当json对象更改为python dict时,会出现问题。它改变了键和值的顺序 先感谢您。

2 个答案:

答案 0 :(得分:1)

JSON order mixed up中提取答案:

您可能不依赖于JSON对象中元素的排序。

来自http://www.json.org/

的JSON规范
  

对象是一组无序的   名称/值对

因此,lambda和任何其他JSON库可以根据需要自由重新排列元素的顺序。

答案 1 :(得分:0)

改变lambda返回的唯一方法是改变lambda。如果它不是一个开源的AWS库而不是开源的,那么它可能并不容易。

如果你知道你希望从处理程序中得到哪个值,我假设"sum_gross",你可以使用dictionary.get("key")方法直接得到这个值:

def handler(event,extract)

    data = event.get("sum_gross");

return 

有关python词典的更多信息:http://www.tutorialspoint.com/python/dictionary_get.htm