JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包。
本文主要是对JS操作JSON的要领做下总结。
在JSON中,有两种结构:对象和数组。
1. 一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间运用 “,”(逗号)分隔。 名称用引号括起来;值如果是字符串则必须用括号,数值型则不须要。例如:
var o={"name":"xixi","num":1234,"count":2000,"time":"2013-08-20"};
2. 数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间运用 “,”(逗号)分隔。
例如:
var jsonlist=[{"name":"xixi","num":1234,"count":2000,"time":"2013-08-20"},{"name":"lulu","num":123456,"count":1500,"time":"2013-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包版本太低。
JS操作JSON总结
分享到:
相关推荐
### JS中Json对象 #### JSON概述 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JSON是基于JavaScript的一个子集,采用完全独立于编程语言的文本...
总结来说,json2.js是一个解决旧版JavaScript引擎中JSON支持问题的库,提供JSON.parse()和JSON.stringify()等方法,使得在不支持JSON的环境中也可以进行JSON数据的解析和序列化操作。随着浏览器技术的发展,它的使用...
原生JavaScript调用JSON方法包括理解和运用GET和POST请求、Ajax基本概念及操作步骤,并在实际应用中根据需要选择合适的请求方法。通过封装Ajax函数,可以更方便地在项目中复用网络请求逻辑,提高代码的维护性和...
总结一下,"json.zip"中的"json.js"文件是一个用于客户端JSON数据转换的JavaScript库,它可以帮助开发者方便地在浏览器环境中进行JSON的序列化和反序列化操作。这个库可能包含了一些优化和扩展,以适应更广泛的需求...
总结来说,JSON是JavaScript的重要组成部分,`json.js`和`json2.js`都是为了在没有内置JSON支持的环境中提供解决方案。理解这两个库的差异可以帮助我们更好地选择和使用它们,从而确保在各种环境下都能有效地处理...
JSON,全称JavaScript Object Notation,是一种轻量级的数据交换格式。它以纯文本形式存在,独立于语言,但设计时特别考虑到JavaScript的语法。在JavaScript中,JSON被视为原生格式,无需额外的库或API就能进行解析...
总结,`json2.js`是JavaScript开发者在不支持原生JSON功能的浏览器中处理JSON数据的重要工具。通过引入这个库,可以确保在各种环境中稳定地执行JSON解析和序列化操作。如果你在工作中遇到需要在旧版浏览器上处理JSON...
总结来说,JSON是一种重要的数据交换格式,`JSON.parse()`是JavaScript中解析JSON字符串的关键函数。`json_parse.js`可能是一个用于处理JSON数据的JavaScript模块,包含了对JSON字符串的解析以及可能的错误处理和...
总结起来,jQuery 提供了丰富的功能来处理 JSON 数据,包括获取、解析、遍历以及与 DOM 操作结合。理解这些操作对于开发高效的 Web 应用至关重要。通过实践和运用这些知识,开发者可以更高效地进行前后端数据交互,...
SuperObject提供了一种直观的方式来创建和操作JSON对象,它的API与JavaScript的JSON对象类似。 总结来说,"delphi7_remoject_javascript_json"实例展示了如何在Delphi 7环境中结合RemObjects JavaScript库和JSON...
在现代Web开发中,AJAX...总结起来,"ajax操作json数据"的主题涉及到利用AJAX进行异步通信,结合JSON作为数据传输格式,实现Web应用的无刷新数据更新。通过学习和实践,开发者可以创建更高效、更动态的交互式Web页面。
总结起来,基于.NET 3.5的JSON操作主要依赖于Json.NET库,通过`JsonHelper`类进行序列化和反序列化操作。在ASP.NET Web Forms项目中,这些操作通常与Web页面的生命周期结合,处理客户端和服务器间的JSON数据交换。...
在Java中,`org.json.jar`提供了解析和生成JSON的工具,而在JavaScript中,`json.js`(如果是用于旧版浏览器)或者原生的JSON对象用于JSON操作。在JSP开发中,这两个组件可以帮助实现服务器与客户端之间JSON格式的...
jQuery是一个强大的JavaScript库,提供了丰富的API来简化DOM操作、事件处理、动画效果以及Ajax交互。在处理表单数据时,jQuery的`serialize()`和`serializeArray()`方法尤为有用。 1. **JSON对象到表单数据的转换**...
总结来说,"JSON2解决JSON未定义"意味着在不支持JSON的旧版IE浏览器中,可以通过引入JSON2.js这个库来提供JSON解析和序列化的能力,使得JSON数据能在这些浏览器中正常工作。这个知识点对于编写兼容性良好的Web应用至...
在处理XML数据时,可以利用"xmldom"来解析和操作XML,然后用"x2js"将其转换为JSON,以便在JavaScript环境中更便捷地处理。同样,当需要将JSON数据发送给服务器时,也可以使用"x2js"将JSON转换为XML格式。这样的工具...
在.NET框架中,有多种方式可以操作JSON,包括内置的System.Text.Json库,第三方的Newtonsoft.Json(Json.NET),以及使用JavaScriptSerializer。下面将详细介绍这三种方法及其应用场景。 1. **System.Text.Json** ...
本文主要是对JS操作JSON的要领做下总结。 在JSON中,有两种结构:对象和数组。 1. 一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间运用 “,”...
在这个"Read json dataDemo修改"的示例中,很可能是包含了读取JSON文件的代码示例,演示了如何使用VB和Newtonsoft.Json库来操作JSON数据。通过查看并运行这个示例,你可以更直观地理解上述步骤,并学习如何将这些...