JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包。 本文主要是对JS操作JSON的要领做下总结。 在JSON中,有两种结构:对象和数组。 1. 一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间运用 “,”(逗号)分隔。 名称用引号括起来;值如果是字符串则必须用括号,数值型则不须要。例如: 代码如 JSON,全称JavaScript Object Notation,是一种轻量级的数据交换格式。它以纯文本形式存在,独立于语言,但设计时特别考虑到JavaScript的语法。在JavaScript中,JSON被视为原生格式,无需额外的库或API就能进行解析和序列化。 在JSON中,数据主要以两种结构呈现:对象和数组。 1. **JSON对象**: - 对象以大括号`{}`开始,以大括号`}`结束。 - 对象由多个键值对组成,每个键值对以冒号`:`分隔,键值对之间以逗号`,`分隔。 - 键(名称)始终是双引号`""`包裹的字符串,值可以是字符串、数字、布尔值、数组、另一个JSON对象或`null`。 - 示例: ```javascript var o = {"xlid": "cxh", "xldigitid": 123456, "topscore": 2000, "topplaytime": "2009-08-20"}; ``` 2. **JSON数组**: - 数组以方括号`[]`开始,以方括号`[]`结束。 - 数组包含零个或多个值,值之间以逗号`,`分隔。 - 数组中的每个值可以是任何有效的JSON数据类型。 - 示例: ```javascript var jsonRankList = [{"xlid": "cxh", "xldigitid": 123456, "topscore": 2000, "topplaytime": "2009-08-20"}, {"xlid": "zd", "xldigitid": 123456, "topscore": 1500, "topplaytime": "2009-11-20"}]; ``` 处理JSON数据时,经常需要在JSON字符串和JSON对象间进行转换。 **JSON字符串转JSON对象**: - 使用`eval()`函数,但这种方法不安全,因为`eval()`会执行字符串中的所有JavaScript代码,可能导致安全问题。 - `parseJSON()`方法(非标准,来自json.js库)。 - `JSON.parse()`方法(ECMAScript 5及更高版本支持)。 **JSON对象转JSON字符串**: - `toJSONString()`方法(来自json.js库)。 - `JSON.stringify()`方法(ECMAScript 5及更高版本支持)。 在实际使用中,确保JSON库版本足够高,以避免找不到`toJSONString()`和`parseJSON()`方法。现代浏览器通常内置了`JSON.parse()`和`JSON.stringify()`方法,但老版本浏览器可能需要引入json.js等库来提供这些功能。 理解和熟练掌握JSON的构造以及在JavaScript中的转换技巧,对于编写高效的数据交换和处理代码至关重要。在进行数据传输时,JSON因其简洁、易读和兼容性好的特性,成为Web开发中的常用数据格式。
- 粉丝: 4
- 资源: 949
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- asm-西电微机原理实验
- Arduino-arduino
- C语言-leetcode题解之70-climbing-stairs.c
- C语言-leetcode题解之68-text-justification.c
- C语言-leetcode题解之66-plus-one.c
- C语言-leetcode题解之64-minimum-path-sum.c
- C语言-leetcode题解之63-unique-paths-ii.c
- C语言-leetcode题解之62-unique-paths.c
- C语言-leetcode题解之61-rotate-list.c
- C语言-leetcode题解之59-spiral-matrix-ii.c