使用json模式的python响应

2024-05-23 17:30:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个应用程序和一个使用json通信的服务器。我现在正在尽可能地“pythonize”我的服务器代码(我是一个长期的C代码编写者,恐怕我的python代码流看起来更像C语言而不是python代码流)。 我有一堆信息来回传递。到目前为止,消息格式是“隐式”的,我并没有真正定义一个模式来使其显式/可读/可验证等等

通过对这个主题的搜索,我现在已经掌握了如何定义传入消息模式、验证它等等。使用colander,我甚至可以直接将其放入类中。 但是,在出站端(即来自服务器的响应),我希望有一个类似的定义良好的结构和接口。在

我的问题是: 如何在构造响应数据时使用已定义的出站模式?“C”的比喻是使用struct。 本质上,我不想在我的代码中有任何地方做像

r = dict(response_field=response_data)
HttpResponse(json.dumps(r))

因为它们我在动态地隐式地创建我的格式。。。在

我宁愿使用模式作为构建响应的基础

有什么想法、建议、最佳实践指南吗? 谢谢


Tags: 代码服务器信息json应用程序消息主题定义
1条回答
网友
1楼 · 发布于 2024-05-23 17:30:31

您可以使用常规Python类定义出站数据契约。在

或者您可以考虑使用json-schema来定义公共API接口(传入和传出数据协定)。你有一个json-schema validator in python可以是滤器的一个很好的替代品。在

如果您的结构化数据是关系数据库,那么您可以考虑XSD和XML。More on this on stackoverflow。在

如果结构和约束很简单,那么Avro或{a5}就足够了。在

相关问题 更多 >