在规范中描述 JSON 数据的最佳方式是什么?
过去我使用过带有“冗长”描述的示例,但感觉不准确。
似乎有一个新生的JSON schema标准,但它看起来不像是一个非常活跃的项目。还有其他方法吗?
(更新)在考虑了几天之后,我喜欢 bmargulies 关于使用转换约定的建议。由于本例中的 JSON 文档是我们从 .NET Web 服务中出来的,因此我将使用 C# 类语法简单地记录模式。这可能并不完全严格,但参与的每个人都会理解它,并结合示例将尽快传达信息。
最佳答案
我会推荐我的 js-schema JavaScript 库。其背后的主要动机与您在问题中描述的相同。描述 JSON 模式(或规范,如果需要)是一种简单易懂的符号。
JSON Schema 中描述的示例模式:
{
"type":"object",
"properties":{
"id":{
"type":"number",
"required":true
},
"name":{
"type":"string",
"required":true
},
"price":{
"type": "number",
"minimum":0,
"required":true
},
"tags":{
"type":"array",
"items":{
"type":"string"
}
}
}
}
和 js-schema 相同的模式描述:
{
"id" : Number,
"name" : String,
"price" : Number.min(0),
"?tags" : Array.of(String)
}
该库能够根据模式验证对象,生成符合给定模式的随机对象,以及对 JSON 模式进行序列化/反序列化。
关于json - 如何在规范中描述 JSON 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3213398/