我希望其他人能够创建我的代码可以理解的JSON文件。我如何最好地记录所需/允许的结构是什么?
示例:
{
"customer1" : {
"open-orders" : [
123,
456
],
"terms" : [
"net 30"
]
}, ...
}
我如何说出“在第一级,这是在CRM系统中找到的客户ID。然后'条款'必须在那里,并且阵列中可能有1到3个项目。你不能永远称为第一级标签'错误',但忽略所有其他未知标签等。“
在XML中我可以使用已经捕获了一些这些信息的DTD,我可以添加一些额外的注释。
但JSON的最佳做法是什么?现在我正在玩一个表结构,在左栏中我根据我的结构有一个有效的JSON文件,它被切成块,每个块都是表中的一行。在右栏中,我然后写散文,一次一个块/行。我对它不太满意。还有更好的想法吗?
答案 0 :(得分:1)
JSON只是数据结构的序列化表示;因此,您应该记录数据结构,而不是序列化输出。
/**
* @var object Customer
*/
var customer = {
/**
* @var Number[][]
*/
"open-orders": [],
/**
* @var String[][]
*/
"terms": []
};
此外,JSON没有任何数据规范(标记)表示法,如XML;而XML也可用于序列化数据,它允许您指定数据的结构(使用XSD)。 JSON并不打算这样做,也没有为此提供任何机制。
答案 1 :(得分:0)
您可以为json结构编写模式(就像XML文件的dtd一样)。
这是一个很好的起点:http://json-schema.org
示例:
{
"title": "Example Schema",
"type": "object",
"properties": {
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"age": {
"description": "Age in years",
"type": "integer",
"minimum": 0
}
},
"required": ["firstName", "lastName"]
}