【发布时间】:2019-08-06 07:21:58
【问题描述】:
我正在 python 烧瓶服务器中处理 kafka 流。我用 json 读取响应,需要从流中提取 udid 值。我用 request.json 读取每个响应并将其保存在字典中。当我尝试解析它失败。 dict 包含以下值
dict_items([('data', {'SDKVersion': '7.1.2', 'appVersion': '6.5.5', 'dateTime': '2019-08-05 15:01:28+0200', 'device': 'iPhone', 'id': '3971',....})])
以正常方式解析字典不起作用,即 event_data['status'] 给出错误。也许是因为它不是纯字典......?
@app.route('/data/idApp/5710/event/start', methods=['POST'])
def give_greeting():
print("Hola")
event_data = request.json
print(event_data.items())
print(event_data['status'])
#print(event_data['udid'])
#print(event_data['Additional'])
return 'Hello, {0}!'.format(event_data)
事件数据中包含的值如下
dict_items([('data', {'SDKVersion': '7.1.2', 'appVersion': '6.5.5', 'dateTime': '2019-08-05 15:01:28+0200', 'device': 'iPhone', 'id': '3971',....})])
预期的结果就是这个结果
print(event_data['status'])->start
print(event_data['udid'])->BAEB347B-9110-4CC8-BF99-FA4039C4599B
print(event_data['SDKVersion'])->7.1.2
etc
的输出 print(event_data.keys()) 是 dict_keys(['data'])
【问题讨论】:
-
print(event_data.keys())的输出是什么? (请将其添加到问题中,不要将其作为评论发布) -
解析没有问题,您正在对打印输出不支持的数据结构做出假设。
-
所以要从显示的字典中提取 udid、status 等,有什么可能的方法?
标签: python json dictionary parsing flask