日期:2014-05-16 浏览次数:20418 次
?
转自http://blog.163.com/xiexiaoming05@126/blog/static/6753898520093275828469/
?
?
JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。 JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。
JSON的规则很简单: 对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。
?
下面通过一些例子对JSON作一些简单的介绍:
?
一、可以通过Javascript中的eval函数把符合一定格式的字符串转化成JSON对象
?
<script language="javascript">
?
??? function ShowJsonString()
?
???? {
?
??????? response = (
?
??????????? "[{ name: 'Joe', age: '30', gender: 'M'},{ name: 'Chandler', age: '32', gender: 'M'},{ name: 'Rose', age: '31', gender: 'M'}]"?? //字符串形式
?
??????? );
?
??????? var response1 = "({ name: 'Vicson', age: '30', gender: 'M'})";?? //字符串形式,这里的小括号不能少
?
??????? json = eval(response);
?
??????? json1 = eval(response1);?
?
??????? alert(json[0].name + "," + json[1].age + "," +? json[2].gender);
?
??????? alert(json1.name);
?
??? }
?
??? ShowJsonString();
?
</script>
?
二、直接定义JSON对象
?
<script language="javascript">
?
??? function ShowJsonObject()
?
??? {
?
??????? var user =
?
??????? {????
?
??????????? username:"andy",???
?
??????????? "age":20,???
?
??????????? "info": { "tel": "25003614", "cellphone": "882"},???
?
??????????? "address":???
?
??????????????? [???
?
??????????????????? {city:"shenzhen","postcode":"0755"},???
?
??????????????????? {"city":"guangzhou","postcode":"020"}???
?
??????????????? ]???????????? //address是一个数组
?
??????? }???????????????????? //对象形式
?
??????? alert(user.username);
?
??????? alert(user.age);???
?
??????? alert(user.info.cellphone);???
?
??????? alert(user.address[0].city);???
?
??????? alert(user.address[0].postcode);
?
??? }
?
??? ShowJsonObject();
?
</script>
?
三、对JSON对象的属性进行赋值
?
<script language="javascript">
?
??? function SetJsonObject()
?
??? {
?
???????? var user=
?
???????? {
?
???????????? "username":"andy"
?
???????? }
?
???????? user.username = "Tom";
?
???????? alert(user.username);
?
??? }
?
??? SetJsonObject();
?
</script>
?
四、通过json.js中的parseJSON方法把字符串转化成JSON对象,
?
??? json.js文件包可以在http://www.json.org/json.js中下载
?
<script language="javascript" src="json.js"></script>
?
<script language="javascript">
?
??? function parseJsonEval()
?
??? {
?
??????? var str = '{"name":"Violet", "occupation":"character"}';
?
??????? var obj = str.parseJSON();
?
??????? alert(obj.toJSONString());
?
??????? alert(obj.name);
?
??? }
?
??? parseJsonEval();
?
</script>