如果你曾经使用过XML Schema,RelaxNG或ASN.1,那么你很可能已经知道什么是JSON Schema,并且可以跳过本文的阅读。如果你是头一次听说,或者听过过这个词汇但不了解,那么你来对地方了。
要了解JSON Schema是什么,我们应该首先了解JSON是什么。
JSON代表“JavaScript Object Notation”,一种简单的互联网数据交换格式。由于JavaScript存在于绝大多数Web浏览器中,而JSON基于JavaScript而来,因此很容易在JavaScript中的得到支持。同时,它已被证明足够有用且足够简单,现在也被用于许多其他不涉及互联网数据交换的环境中。
从本质上讲,JSON建立在以下数据结构上:
对象:
{ "key1": "value1", "key2": "value2" }
数组:
[ "first", "second", "third" ]
数值:
42 3.1415926
字符串:
"This is a string"
布尔:
true false
空值:
null
以上这些类型在大多数编程语言中都有接近的对照类型,但它们可能有不同的名称。
利用这些简单的数据类型,可以表示出各种结构化数据。然而,这种巨大的灵活性带来了巨大的责任,因为同样的概念可以用无数种方式表现出来。例如,你可以想象以不同方式表示有关JSON中某人的信息:
{
"name": "George Washington",
&