JSON 有模式吗?

Posted

技术标签:

【中文标题】JSON 有模式吗?【英文标题】:Does JSON have a schema? 【发布时间】:2012-03-06 17:42:50 【问题描述】:

JSON / RESTful Web 服务是否具有与 wsdl 等效的架构?

如果答案是否定的,那么双方如何就共享格式达成一致?

如果答案是肯定的,是否有任何工具可以从架构自动生成 JSON Java 客户端/服务器?

【问题讨论】:

【参考方案1】:

JSON 有a schema。 REST 服务有WADL。

还有wadl2java之类的工具。

【讨论】:

老问题,但值得澄清:JSON Schema 标准包括“超模式”,它指定链接/操作 - 包括 HTTP 方法、所需数据(指定为 JSON Schema)和预期结果。只需注意模式,就可以充分探索 JSON API。 我还想提一下这个不错的教程,而不是从规范开始:brandur.org/elegant-apis。下一个 JSON Schema 草案将是 0.5,在这里讨论:github.com/json-schema/json-schema/wiki/v5-Proposals【参考方案2】:

我可以有一个用于 RESTful Web 服务的架构,并且一些工具支持这一点。但是,在没有发布组织提供机器可读模式的情况下发布 Restful Web 服务是很常见的。

通常它们会提供一些人类可读的文档来描述 JSON 的结构。消费者编写一个简单的手写库来使用它(比使用现代工具在实践中听起来要容易得多),或者发布者提供一个客户端库供用户使用。

此外,JSON/RESTfull Web 服务往往经过精心设计,以通过易于使用的线路提供简单的数据结构。您需要列表的架构吗?

【讨论】:

以上是关于JSON 有模式吗?的主要内容,如果未能解决你的问题,请参考以下文章

根据 javascript 中的模式验证 json

使用java的JSON模式验证[关闭]

Json 模式数组大小参考

django postgresql json 字段模式验证

这是“延迟反模式”吗?

RESTful API 应该有模式吗?