JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不需要任何特殊的 API 或工具包。
本文主要是对JS操作JSON的方法做下总结。
在JSON中,有两种结构:对象和数组。
1. 一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。 名称用引号括起来;值如果是字符串则必须用括号,数值型则不需要。例如:
var o={"xlid":"cxh","xldigitid":123456,"topscore":2000,"topplaytime":"2009-08-20"};
2. 数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。
例如:
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.js包,下载地址:http://www.json.org/json.js
在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。例如:
JSON字符串:
var str1 = '{ "name": "cxh", "sex": "man" }';
JSON对象:
var str2 = { "name": "cxh", "sex": "man" };
一、JSON字符串转换为JSON对象
要使用上面的str1,必须使用下面的方法先转化为JSON对象:
//由JSON字符串转换为JSON对象
var obj = eval('(' + str + ')');
或者
var obj = str.parseJSON(); //由JSON字符串转换为JSON对象
或者
var obj = JSON.parse(str); //由JSON字符串转换为JSON对象
然后,就可以这样读取:
Alert(obj.name);
Alert(obj.sex);
特别注意:如果obj本来就是一个JSON对象,那么使用eval()函数转换后(哪怕是多次转换)还是JSON对象,但是使用parseJSON()函数处理后会有问题(抛出语法异常)。
二、可以使用toJSONString()或者全局方法JSON.stringify()将JSON对象转化为JSON字符串。
例如:
var last=obj.toJSONString(); //将JSON对象转化为JSON字符
或者
var last=JSON.stringify(obj); //将JSON对象转化为JSON字符
alert(last);
注意:
上面的几个方法中,除了eval()函数是js自带的之外,其他的几个方法都来自json.js包。新版本的 JSON 修改了 API,将 JSON.stringify() 和 JSON.parse() 两个方法都注入到了 Javascript 的内建对象里面,前者变成了 Object.toJSONString(),而后者变成了 String.parseJSON()。如果提示找不到toJSONString()和parseJSON()方法,则说明您的json包版本太低。
分享到:
相关推荐
在JavaScript中操作JSON源码是常见的任务,尤其在与服务器进行数据交互时。本篇将深入探讨如何使用JavaScript来操作JSON源码。 首先,理解JSON的基本结构至关重要。JSON基于JavaScript对象语法,但不包含函数和一些...
本文将深入探讨如何在JavaScript中优化JSON数据分组以及常见的JS操作JSON的方法。 首先,让我们看一个具体的例子。假设我们有以下JSON数据: ```javascript [ {"date":"2017-12-22","start_time":"10:00:00","end...
### JS中Json对象 #### JSON概述 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JSON是基于JavaScript的一个子集,采用完全独立于编程语言的文本...
除了上述操作,JavaScript还提供了`JSON.parse()`和`JSON.stringify()`方法,分别用于将JSON字符串转换为JavaScript对象,以及将JavaScript对象转换为JSON字符串。此外,`Array.prototype.forEach()`、`Array....
在JSONEditor的背景下,JavaScript负责实现所有用户界面的动态交互和JSON数据的操作。开发者可以利用JSONEditor的API和事件处理机制来定制编辑器的行为,例如添加验证规则、监听数据变化等。 JSONEditor的核心特性...
JSON,全称JavaScript Object Notation,是一种轻量级的数据交换格式。它以纯文本形式存在,独立于语言,但设计时特别考虑到JavaScript的语法。在JavaScript中,JSON被视为原生格式,无需额外的库或API就能进行解析...
`json.js`可能是早期的一个JSON处理库,它提供了JSON的解析(`parse()`)和字符串化(`stringify()`)功能,使得在不支持JSON的旧版浏览器中也能进行JSON操作。`json2.js`是 Douglas Crockford 创建的,他是JSON规范...
这些文件可能是用于处理JSON数据的库或者工具,帮助开发者在JavaScript环境中进行数据的序列化和反序列化操作。 具体到描述中的文件: 1. `josn2.js`:这是一个可能包含全面JSON功能的库,例如在一些老版本的...
JSON2.js是由Douglas Crockford开发的一个JavaScript库,专门用于处理JSON数据,尤其在老版本的浏览器中,这些浏览器可能不支持原生的JSON解析和序列化功能。 在JavaScript中,JSON主要用于对象与字符串之间的转换...
因项目需求,自己拼接麻烦,所以将javascript拼接json封装成和java类似的操作,直接put() 与 get() 就可以使用,支持json数组,使用的时候只需要 创建对象 并赋值 然后调用内部参数即可,源码中有示例。因为删除操作...
JSON2.js是一个JavaScript库,由Douglas Crockford开发,主要目的是为了在旧版本的JavaScript引擎中提供完整的JSON支持。 在JavaScript中,JSON对象是原生支持的,但在一些较老的浏览器或环境中,如IE6和IE7,它们...
随着互联网的兴起,数据在网络上交换的方式经历了...总的来说,《JavaScript与JSON实用指南》将帮助开发者掌握JSON的核心知识,并了解如何使用JavaScript创建和处理JSON数据,从而构建出更加高效和功能丰富的web应用。
本文实例讲述了JS操作json对象key、value的常用方法。分享给大家供大家参考,具体如下: 一、定义JSON对象 // 首先定义一个json对象,对象以“{”(左括号)开始,“}”(右括号)结束 // 花括号内为键、值对 键...
在易语言中,JSON(JavaScript Object Notation)操作是一项重要的功能,因为JSON作为一种轻量级的数据交换格式,广泛应用于Web服务和数据存储。 该"易语言json操作例程"提供了源码,帮助用户理解如何在易语言中...
总结来说,json2.js是一个解决旧版JavaScript引擎中JSON支持问题的库,提供JSON.parse()和JSON.stringify()等方法,使得在不支持JSON的环境中也可以进行JSON数据的解析和序列化操作。随着浏览器技术的发展,它的使用...
在JavaScript和JSON的世界里,"js+json精彩分页"是一个常见的应用场景,特别是在网页开发中。这个主题主要涉及两个核心概念:JavaScript(JS)和JSON(JavaScript Object Notation)。在这个项目中,它们被用来实现...
根据所提供的文件信息,“js解析json代码”这一标题明确指出了本文将探讨的主题,即如何利用JavaScript语言处理JSON格式的数据。描述部分进一步强调了这部分内容关注的是具体的JavaScript解析代码实现。接下来,我们...