首页 > 网站 > WEB开发 > 正文

Json学习笔记

2024-04-27 14:17:12
字体:
来源:转载
供稿:网友

Json学习笔记

JSON:javaScript 对象表示法(Javascript Object Notation)。

JSON 是存储和交换文本信息的语法。类似 xml

JSON 比 XML 更小、更快,更易解析。

 

JSON 语法规则

JSON 语法是 JavaScript 对象表示法语法的子集。

  • 数据在名称/值对中
  • 数据由逗号分隔
  • 花括号保存对象
  • 方括号保存数组

 

JSON 文件

  • JSON 文件的文件类型是 ".json"
  • JSON 文本的 MIME 类型是 "application/json"

 

JSON 名称/值对

JSON 数据的书写格式是:名称/值对。

名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:

"姓名" : "李明"

这很容易理解,等价于这条 JavaScript 语句:

姓名 = "李明"

JSON 值

JSON 值可以是:

  • 数字(整数或浮点数)
  • 字符串(在双引号中)
  • 逻辑值(true 或 false)
  • 数组(在方括号中)
  • 对象(在花括号中)
  • null

Json格式数据表示方法

Json使用花括号表示对象,使用方括号表示数组。二则的组合可以表述具有复杂结构的数据。

例如:

{key:value,key2:value2}[1,2,3,4,4,4,4,5,6,76]
[{"姓名":"李明","年龄":18},{"姓名":"李龙","年龄":19},{"姓名":"李百","年龄":17}]

程序例子:

var myJson = [{ "姓名": "李明", "年龄": 18 },            { "姓名": "李龙", "年龄": 19 },            { "姓名": "李百", "年龄": 17 }];        alert(myJson[0].姓名);        //读取姓名        myJson[3].姓名 = "李白";       //修改姓名        alert(myJson[2].姓名);        //读取姓名

运行结果如下:

image image

由于运行期间更改了第三个对象的姓名,所以李百变成了李白了。

 

把 JSON 文本转换为 JavaScript 对象

JSON 最常见的用法之一,是从 web 服务器上读取 JSON 数据(作为文件或作为 HttPRequest),将 JSON 数据转换为 JavaScript 对象,然后在网页中使用该数据。

 

解析Json

可以使用eval()函数解析Json数据

示例代码:

var str='[{ "姓名": "李明", "年龄": 18 },'+            '{ "姓名": "李龙", "年龄": 19 },'+        '{ "姓名": "李百", "年龄": 17 }]';            var obj = eval(str);

运行结果如下(运行结果截图是在IE11的开发人员工具里的监视内容):

image

 

JSON 解析器

提示:eval() 函数可编译并执行任何 JavaScript 代码。这隐藏了一个潜在的安全问题。

使用 JSON 解析器将 JSON 转换为 JavaScript 对象是更安全的做法。JSON 解析器只能识别 JSON 文本,而不会编译脚本。

在浏览器中,这提供了原生的 JSON 支持,而且 JSON 解析器的速度更快。

较新的浏览器和最新的 ECMAScript (JavaScript) 标准中均包含了原生的对 JSON 的支持。

Web 浏览器支持 Firefox (Mozilla) 3.5

Web 软件支持

  • jQuery
  • Yahoo UI
  • Prototype
  • Dojo
  • ECMAScript 1.5

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表