事件中心将JSON转换为JSON字符串

问题描述

当我们尝试将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')))