什么是JSON?
1.JSON: JavaScript Object Notation(JavaScript 对象表示法)
JSON 是存储和交换文本信息的语法。类似 XML。
JSON 比 XML 更小、更快,更易解析。
JSON 是轻量级的文本数据交换格式。
JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。JSON 具有自我描述性,更易理解。
Json实例:
{
"sites": [
{ "name":"淘宝" , "url":"www.taobao.com" },
{ "name":"google" , "url":"www.google.com" },
{ "name":"百度" , "url":"www.baidu.com" }
]
}
这个 sites 对象是包含 3 个站点记录(对象)的数组。
2.JSON - 转换为 JavaScript 对象
JSON 文本格式在语法上与创建 JavaScript 对象的代码相同。
由于这种相似性,无需解析器,JavaScript 程序能够使用内建的 eval() 函数,用 JSON 数据来生成原生的 JavaScript 对象。
3.JSON 使用 JavaScript 语法
因为 JSON 使用 JavaScript 语法,所以无需额外的软件就能处理 JavaScript 中的 JSON。
通过 JavaScript,您可以创建一个对象数组,并像这样进行赋值:
实例
JSON数据格式:主要由对象 { } 和数组 [ ] 组成:
其中对象包括键值对(属性:属性值){key: value},value 可为 str,num,list,obj。取值使用 objcet.key
{key: value, key2:value2,} 键:值用冒号分开,对间用,连接数组包含元素:num,str,list,objcet 都可以,利用索引访问 [index],用 . 连接各个值:
var stu = {"student": //stu 对象包含student的key,值为一个数组
[ //数组的每一个值为一个具体的学生对象
{"name": "Tom","Grade":1, "age":11, "gender": "M"}, //学生对象的键为名字,值为对应属性
{"name": "Jerry", "Grade":1, "age":10, "gender": "M"} //每个属性对应的是一个key,value对
],
"classroom": {"class1": "room1", "class2": "room2"} //对象的值,嵌套对象
};
读取数据:
document.write(stu.student[1].name); // 输出第二个学生名
document.write(stu.student[0].age); // 输出第一个学生年龄
document.write(stu.classroom.class1); // 输出 classroom 的 class1 值
document.write(stu["classroom"].class2); // 也可用中括号键访问对象值
3.JSON文件可以进行与XML、CSV、YAML格式文件互转。
实例:
JSON源文件:
{
"sites": {
"site": [
{
"id": "1",
"name": "淘宝",
"url": "www.taobao.com"
},
{
"id": "2",
"name": "百度",
"url": "www.baidu.com"
},
{
"id": "3",
"name": "Google",
"url": "www.google.com"
}
]
}
}
格式转换:
A. XML文件
<?xml version="1.0" encoding="UTF-8" ?>
<sites>
<site>
<id>1</id>
<name>淘宝</name>
<url>www.taobao.com</url>
</site>
<site>
<id>2</id>
<name>百度</name>
<url>www.baidu.com</url>
</site>
<site>
<id>3</id>
<name>Google</name>
<url>www.google.com</url>
</site>
</sites>
B. CSV文件
id,name,url
1,淘宝,www.taobao.com
2,百度,www.baidu.com
3,Google,www.google.com
C. YAML文件
sites:
site:
-
id: 1
name: "淘宝"
url: "www.taobao.com"
-
id: 2
name: "百度"
url: "www.baidu.com"
-
id: 3
name: Google
url: "www.google.com"
上一篇: AIX7.1 安装配置 HPE 3PAR 存储驱动软件
下一篇: Multipath多路径安装配置