【问题标题】:python json response using schema使用模式的python json响应
【发布时间】:2013-12-20 04:56:01
【问题描述】:

我有一个应用程序和一个使用 json 通信的服务器。我现在正在尝试尽可能地“pythonize”我的服务器代码(我是一个很长时间的 C 编码器,我担心我的 python 代码流看起来比 pythonic 更像 C)。 我有一堆消息来回传递。到目前为止,消息格式是“隐式”的,我并没有真正定义模式以使其显式/可读/可验证等。

搜索该主题后,我现在可以很好地处理如何定义传入消息模式、验证它等。使用滤锅,我什至可以直接将它带入一个类。 但是,在出站端(即来自服务器的响应),我希望有一个类似的定义良好的结构和接口。

我的问题是: 如何在构建响应数据时使用定义的出站模式? 'C' 类比是使用结构。 本质上,我不希望我的代码中的任何地方做一些丑陋的事情,比如

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

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

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

有任何想法、建议、最佳实践指南吗? 谢谢

【问题讨论】:

    标签: python json schema


    【解决方案1】:

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

    或者您可以考虑使用json-schema 来定义公共 API 接口(传入和传出数据合约)。你有一个json-schema validator in python,它可以作为滤锅的一个很好的替代品。

    如果您有结构化数据 à la 关系数据库,那么您可能会考虑 XSD 和 XML。 More on this on stackoverflow.

    如果结构和约束很简单,那么AvroProtocol Buffers 可能就足够了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-15
      • 1970-01-01
      • 1970-01-01
      • 2011-10-23
      • 1970-01-01
      • 2021-11-05
      • 2012-11-06
      • 1970-01-01
      相关资源
      最近更新 更多