我目前正在python中开发一个lambda,我实际上有点在python中构建jsons。
lambda从dynamodb表中读取并将所有返回的值添加到json结构中。
这就像打印json的魅力一样,但不能将其作为回调返回。
Samplecode:
import json
def lambda_handler(event, context):
jsondata = '{' \
'"cols": [' \
'{"id":"","label":"Timestamp","pattern":"","type":"string"},' \
'{"id":"","label":"Temperature","pattern":"","type":"number"},' \
'{"id":"","label":"Humidity","pattern":"","type":"number"}' \
'],' \
'"rows": ['
jsondata += ']' \
'}'
print jsondata
return jsondata
if __name__ == "__main__":
lambda_handler(None, None)
在我看来,这种“字符串添加”并不是最流畅的方式,但它是唯一适用于
的方式。虽然印刷品看起来像预期的那样:
返回值包含反斜杠,这使得返回值对我来说无法使用。
由于应用程序仅在shell上打印,因此它正确显示值:
有什么想法吗?
提前干杯谢谢, 的Matthias
答案 0 :(得分:3)
字符串不包含反斜杠。它的表示确实如此,因为它必须显示字符串(由""
分隔)并不会在"
出现时结束。如果你必须在由相同引号分隔的字符串文字中写一个引号,你也必须用反斜杠转义它。
也就是说,使用dumps
模块中的json
函数构建json更容易:
import json
jsondata = json.dumps({
"cols": [{"et": "cetera"}],
})