问题描述
当我们尝试将JSON发布到Azure事件中心时,EventData会转换JSON字符串。代替JSON字符串,我只需要在使用者端使用JSON。
response = {"status":"Active","code":400}
event_batch = await producer.create_batch()
event_batch.add(EventData(json.dumps(response)))
在消费者端,我得到的事件为{body:'{“ status”:“ Active”,“ code”:400}','sequence_numbe':1},如下所示。我们如何才能像这样在消费者端只得到Json
{ body: {"status":"Active","code":400},'sequence_numbe':1}
有人可以帮忙吗?
解决方法
您可以使用body_as_json方法来满足您的要求。
示例实施:
jsonbody = event.body_as_json(encoding='UTF-8')
这将直接向我们返回JSON对象
替代方法:
将其获取为字符串,然后将其转换为json对象。
jsonbody = json.loads(event.body_as_str(encoding='UTF-8')))