转自博客:http://www.cnblogs.com/fancy-dawning/p/8857084.htmlhtml
1、什么是JSONweb
-JSON指的是JavaScript对象表示法(Javascript Object Notation)编程
-JSON是轻量级的文本数据交换格式json
-JSON独立于语言数组
-JSON具备自我描述性,更易理解缓存
-JSON 使用 JavaScript 语法来描述数据对象,可是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不一样的编程语言。编程语言
2、用途:ide
JSON的用途可归结为以下:函数
一、JSON提供了一种优秀的面向对象的方法,以便将元素数据缓存到客户机上网站
二、JSON帮助分离了验证数据和逻辑
三、JSON帮助为web应用程序提供了Ajax的本质
3、与XML的异同
相似XML:
不一样与XML:
4、为何要使用JSON
对于 AJAX 应用程序来讲,JSON 比 XML 更快更易使用:
使用 XML:
读取 XML 文档
使用 XML DOM 来循环遍历文档
读取值并存储在变量中
读取 JSON 字符串
用 eval() 处理 JSON 字符串
使用JSON:
读取 JSON 字符串
用 eval() 处理 JSON 字符串
5、JSON在Java中的使用
一、语法规则:JSON语法是Javascript对象表示法语法的子集。数据在名称/值对中且由逗号分隔,{}保存对象,[]保存数组
二、名称/值对:JSON数据的书写格式是:名称/值对,名称/值对包括字段名称(在双引号中),后面写一个冒号,而后是值:如:"firstName" : "John",等价于firstName="John"这条JavaScript语句。
三、值:JSON值能够是:数字(整数或浮点数)、字符串(在双引号中)、逻辑值(true 或 false)、数组(在方括号中)、对象(在花括号中)、null
四、对象:JSON 对象在花括号中书写,对象能够包含多个名称/值对:{ "firstName":"John" , "lastName":"Doe" }
五、数组:JSON 数组在方括号中书写,数组可包含多个对象:
{ "employees": [ { "firstName":"John" , "lastName":"Doe" }, { "firstName":"Anna" , "lastName":"Smith" }, { "firstName":"Peter" , "lastName":"Jones" } ]
}
6、实例
建立包含 JSON 语法的 JavaScript 字符串:
因为 JSON 语法是 JavaScript 语法的子集,JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,而后生成 JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误:
在网页中使用 JavaScript 对象:实例源码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>xxxyyyzzz</title>
</head>
<body>
<h2>从 JSON 字符串中建立对象</h2>
<p>
网站名: <span id="name"></span><br>
网站地址: <span id="url"></span><br>
</p>
<script>
var txt = '{ "sites" : [' +
'{ "name":"xxx" , "url":"www.xxx.com" },' +
'{ "name":"yyy" , "url":"www.yyy.com" },' +
'{ "name":"zzz" , "url":"www.zzz.com" } ]}';
var obj = eval ("(" + txt + ")");
document.getElementById("name").innerHTML=obj.sites[0].name
document.getElementById("url").innerHTML=obj.sites[0].url
</script>
</body>
</html>
本文参考于:http://www.w3school.com.cn/json/json_eval.asp
http://www.runoob.com/json/json-eval.html