JSON是一种轻量级的数据交换格式。它易于人类读写,也方便机器解析与生成。
主要有两种形式,一种以Key-Value(键值对)形式,另一种以有序值列(数组)
object:
{ "key1": "value1", "key2": "value2" }
array:
[ "first", "second", "third" ]
string:
"This is a string"
number:
42
3.1415926
boolean:
true
false
null:
null
JSON Schema是用于注释和验证 JSON文档的JSON串。它本身是一个JSON串,但是其内容为JSON数据的描述性内容,下面举例说明
现有JSON数据串:
{
"first_name": "George",
"last_name": "Washington",
"birthday": "1732-02-22",
"address": {
"street_address": "3200 Mount Vernon Memorial Highway",
"city": "Mount Vernon",
"state": "Virginia",
"country": "United States"
}
}
从JSON数据串中我们看到,有first_name、last_name、birthday、address几个属性,分别为string、string、string、object类型,其中birthday是string中的日期类型。
那可以定义Schema串,
{
"type": "object",
"properties": {
"first_name": { "type": "string" },
"last_name": { "type": "string" },
"birthday": { "type": "string", "format": "date" },
"address": {
"type": "object",
"properties": {
"street_address": { "type": "string" },
"city": { "type": "string" },
"state": { "type": "string" },
"country": { "type" : "string" }
}
}
}
}
通过Schema串,我们可以做数据验证。当我们传入给Schema串的数据内容符合时,可以验证通过,否则无法通过验证。
XML 可扩展标记语言, 是一种可自定义标记的数据交换格式。
标记中可能包括注释、引用、字符数据段、起始标记、结束标记、空元素、文档类型声明( DTD)和序言
具体规则如下:
1、必须有声明语句。
XML声明是XML文档的第一句,其格式如下:
<?xml version="1.0" encoding="utf-8"?>
2、注意大小写
在XML文档中,大小写是有区别的。“
”和“
”是不同的标记。注意在写元素时,前后标记的大小写要保持一致。最好养成一种习惯,或者全部大写,或者全部小写,或者大写第一个字母,这样可以减少因为大小写不匹配而产生的文档错误。
3、XML文档有且只有一个根元素
良好格式的XML文档必须有一个根元素,就是紧接着声明后面建立的第一个元素,其他元素都是这个根元素的子元素,根元素完全包括文档中其他所有的元素。根元素的起始标记要放在所有其他元素的起始标记之前;根元素的结束标记要放在所有其他元素的结束标记之后。
4、属性值使用引号
在HTML代码里面,属性值可以加引号,也可以不加。但是XML规定,所有属性值必须加引号(可以是单引号,也可以是双引号,建议使用双引号),否则将被视为错误。
5、所有的标记必须有相应的结束标记
在HTML中,标记可以不成对出现,而在XML中,所有标记必须成对出现,有一个开始标记,就必须有一个结束标记,否则将被视为错误。
6、所有的空标记也必须被关闭
空标记是指标记对之间没有内容的标记,比如“”等标记。在XML中,规定所有的标记必须有结束标记。
看下面的一个例子,分别肜XML和JSON描述雇员(employees)
JSON Example
{"employees":[
{ "firstName":"John", "lastName":"Doe" },
{ "firstName":"Anna", "lastName":"Smith" },
{ "firstName":"Peter", "lastName":"Jones" }
]}
XML Example
<employees>
<employee>
<firstName>John</firstName> <lastName>Doe</lastName>
</employee>
<employee>
<firstName>Anna</firstName> <lastName>Smith</lastName>
</employee>
<employee>
<firstName>Peter</firstName> <lastName>Jones</lastName>
</employee>
</employees>
https://www.cnblogs.com/SanMaoSpace/p/3139186.html
http://cncc.bingj.com/cache.aspx?q=JSON+in+javascript&d=4751934830347762&mkt=zh-CN&setlang=zh-CN&w=GFLVRVLT8SNw7gs54INd8uGpoueIVwcu
JSON源于JavaScript(“JSON” 是 "JavaScript Object Notation"的简写)。
JSON的格式与Js的语法有多相似之处
JSON:
{
"first_name" : "Sammy",
"last_name" : "Shark",
"online" : true
}
JS:
var sammy = {
"first_name" : "Sammy",
"last_name" : "Shark",
"online" : true
}
函数功能:将Js对象转化为字符串
var obj = {"first_name" : "Sammy", "last_name" : "Shark", "location" : "Ocean"}
var s = JSON.stringify(obj)
s的值现在为一个字符串:
'{"first_name" : "Sammy", "last_name" : "Shark", "location" : "Ocean"}'
函数功能:将字符串转化为Js对象
将上一步过程中得到的变量s通过函数即可生成Js对象
var o = JSON.parse(s)