我的代码如下所示:
payload = base64.b64decode(record['kinesis']['data'])
print("Decoded payload: " + payload)
在日志中,打印行的结果如下所示:
解码的有效负载: { " timeStamp":1509835693.7319956, "事情":"测试/ 23" }
我不会像这样引用timeStamp:
payload['timeStamp']
我对此数据结构中的内容感到困惑。有人可以向我解释一下我在这里有什么以及我如何访问变量有效载荷内的数据?
答案 0 :(得分:5)
解码数据是一个字符串(如错误所示),而不是字典。您需要在访问其元素之前解析它。
考虑到您的数据是JSON格式,如上所示:
import json
payload_str = base64.b64decode(record['kinesis']['data'])
payload = json.loads(payload_str) # parsing
print("Decoded payload: ", payload)
现在,访问payload['timeStamp']
时没有问题,只要JSON包含此字段。