JSON学习
本节摘要:最近在做系统的外围接口,工作中涉及到了JSON这个知道点,本节主要是对JSON的学习做一个简单的记录。
preparation
1.关于JSON的介绍
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。
JSON建构于两种结构:
1. “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),记录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
2.值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。
2.下载JSON.js文件,主要使用的是json.js中的toJSONString()函数
http://files.cnblogs.com/java-pan/JSON-js.zip
3.环境介绍
系统环境:WIN7、IntelliJ IDEA 8.1.2(使用此编辑器的主要原因是此IDE对js很好的提示功能)
项目介绍:
本次用到的只有两个文件,即JSON.html和json.js
start
拷贝json.js库文件到js文件下下,然后新建JSON.html文件,代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>JSON的学习</title>
<!--导入json的js文件,注意路径,采用的是相对路径-->
<SCRIPT type="text/javascript" SRC="js/json.js"></SCRIPT>
<script type="text/javascript">
function json() {
//JSON
// 1.表示 名称 / 值对的方式 并赋值给一个json1变量
var json1 = {"name":"王五","age":20 }; //JSON 更容易使用,而且可读性更好
//2。表示数组 当需要表示一组值时,JSON 不但能够提高可读性,而且可以减少复杂性
//有一个名为 people的变量,值是包含2个条目的数组,每个条目是一个人的记录
//赋值给一个json2变量
var json2 = {"people":[
{
"name": "张三",
"age":24
},
{
"name": "李四",
"age":25
}
]};
//表示多个值(每个值包含多个记录)
//能够表示多个值,每个值进而包含多个值。但是还应该注意,在不同的主条目(programmers、authors)之间,
// 记录中实际的名称 / 值对可以不一样。JSON 是完全动态的,允许在 JSON 结构的中间改变表示数据的方式
//赋值给一个json3变量
var json3 = { "programmers": [
{
"name": "Brett",
"age":22
},
{
"name": "Jason",
"age":33
}
],"authors": [
{
"name": "Isaac",
"age": 44
},
{
"name": "Tad",
"address": "上海徐汇区"
}
] } ;
//弹出来的都是Object 对象
alert("json1=" + json1);
alert("json2=" + json2);
alert("json3=" + json3);
//访问数据
alert("此值应该是张三,实际是" + json2.people[0].name);
alert("此值应该是44,实际是" + json3.authors[0].age);
alert(json3.authors[1].address);
//修改数据
json2.people[0].name = "周杰伦";
alert("修改数据,修改前为张三,修改后为" + json2.people[0].name);
//转换会字符串
alert(json2);
alert("toLocaleString()=" + json2.toLocaleString());
alert("toString()=" + json2.toString());
alert("toJSON=" + json2.toJSON);
alert("toJSONString()=" + json2.toJSONString()); //引用了json.js中的函数
}
</script>
</head>
<body onload="json()">
<ol>
<li>JSON---表示</li>
<li>JSON---访问数据</li>
<li>JSON---修改JSON数据</li>
<li>JSON---转换回字符串</li>
<li>JSON---JSON在线校验工具 BeJson</li>
</ol>
</body>
</html>
result访问时直接打开打开JSON.html文件,效果如下:
说明:以上学习的过程主要是参考了百度百科
下面对自己学习JSON的过程做几点简单的总结:
1.JSON是一个对象,可以直接赋值给js变量,不能再外面加双引号
2.JSON和XML所处的战场不同,在Javascript地盘内,JSON毕竟是主场作战,其优势当然要远远优越于xml