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

相关文章
相关标签/搜索