JAVAEE 第七週

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

  • JSON 是純文本
  • JSON 具備「自我描述性」(人類可讀)
  • JSON 具備層級結構(值中存在值)
  • JSON 可經過 JavaScript 進行解析
  • JSON 數據可以使用 AJAX 進行傳輸

       不一樣與XML:

  • 沒有結束標籤
  • 更短
  • 讀寫的速度更快
  • 可以使用內建的 JavaScript eval() 方法進行解析
  • 使用數組
  • 不使用保留字

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 字符串:

              var txt = '{ "sites" : [' +
              '{ "name":"xxx" , "url":"www.xxx.com" },' +
              '{ "name":"yyy" , "url":"www.yyy.com" },' +
              '{ "name":"zzz" , "url":"www.zzz.com" } ]}';

       因爲 JSON 語法是 JavaScript 語法的子集,JavaScript 函數 eval() 可用於將 JSON 文本轉換爲 JavaScript 對象。eval() 函數使用的是 JavaScript 編譯器,可解析 JSON 文本,而後生成 JavaScript 對象。必須把文本包圍在括號中,這樣才能避免語法錯誤:

              var obj = eval ("(" + txt + ")");

       在網頁中使用 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

相關文章
相關標籤/搜索