我是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时,会出现问题。它改变了键和值的顺序 先感谢您。
答案 0 :(得分:1)
从JSON order mixed up中提取答案:
您可能不依赖于JSON对象中元素的排序。
的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