轉自博客: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