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包版本太低。
Json-lib可以将Java对象转成json格式的字符串,也可以将Java对象转换成xml格式的文档,同样可以将json字符串转换成Java对象或是将xml字符串转换成Java对象。
一、 准备工作
1、 首先要去官方下载json-lib工具包
下载地址:
http://sourceforge.net/projects/json-lib/files/json-lib/json-lib-2.4/
目前最新的是2.4的版本,本示例中使用的是v2.3;json-lib还需要以下依赖包:
jakarta commons-lang 2.5
jakarta commons-beanutils 1.8.0
jakarta commons-collections 3.2.1
jakarta commons-logging 1.1.1
ezmorph 1.0.6
官方网址:http://json-lib.sourceforge.net/
分享到:
相关推荐
总结来说,JavaScript提供了强大的工具来操作JSON源码,包括解析JSON字符串,转换JavaScript对象,遍历和修改对象,以及与服务器进行异步通信。熟悉这些基本操作是成为熟练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的一个子集,采用完全独立于编程语言的文本...
总结来说,json2.js是一个解决旧版JavaScript引擎中JSON支持问题的库,提供JSON.parse()和JSON.stringify()等方法,使得在不支持JSON的环境中也可以进行JSON数据的解析和序列化操作。随着浏览器技术的发展,它的使用...
根据所提供的文件信息,“js解析json代码”这一标题明确指出了本文将探讨的主题,即如何利用JavaScript语言处理JSON格式的数据。描述部分进一步强调了这部分内容关注的是具体的JavaScript解析代码实现。接下来,我们...
总结来说,JavaScript提供了强大的工具来处理JSON数据。无论是从服务器获取还是向服务器发送,或是读取和写入本地文件,JavaScript都能很好地胜任。通过`JSON.parse()`和`JSON.stringify()`,我们可以轻松地在...
总结来说,理解和熟练掌握JSON在JavaScript中的处理方法对于Web开发者至关重要,因为它是现代Web应用中数据交换的主要方式。`JSON.parse()`和`JSON.stringify()`是JavaScript处理JSON的核心工具,而实际项目中的HTML...
总结,`jQuery.json.js`这个文件可能是jQuery的一个扩展插件,专门用于增强jQuery对JSON的支持。在实际项目中,通过使用jQuery提供的这些方法,开发者可以轻松地处理JSON数据,实现与服务器的高效通信。同时,理解...
通过使用简单的语法,你可以轻松提取、修改或操作JSON对象中的键值。例如,`jq '.key'`可以用来获取JSON对象中名为'.key'的值。 2. **`json`**: `json`命令是一个小型的命令行工具,它提供了一些基本的JSON操作,...
### Android操作JSON详细总结 #### 一、JSON简介 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,以其良好的可读性和易于编写的特点在软件开发领域得到了广泛应用。作为一种跨平台的数据交换标准...
总结一下,"json.zip"中的"json.js"文件是一个用于客户端JSON数据转换的JavaScript库,它可以帮助开发者方便地在浏览器环境中进行JSON的序列化和反序列化操作。这个库可能包含了一些优化和扩展,以适应更广泛的需求...
3. **JSON**: JSON是一种数据交换格式,其语法结构与JavaScript对象相似,便于JavaScript进行解析和操作。 4. **jQuery**: 是一个流行的JavaScript库,简化了DOM操作、事件处理、动画和Ajax交互等任务。它的$.ajax...
总结,解决JavaScript组装JSON的繁琐问题,可以通过采用javabean模式创建数据封装对象,并结合JavaScript的`prototype`来扩展功能。利用`toJSONObject`这样的辅助函数,可以方便地将复杂的数据结构转换为JSON格式,...
JSON,全称JavaScript Object Notation,是一种轻量级的数据交换格式。它以纯文本形式存在,独立于语言,但设计时特别考虑到JavaScript的语法。在JavaScript中,JSON被视为原生格式,无需额外的库或API就能进行解析...
通过学习和理解这些知识点,你可以更好地理解和操作JSON数据,无论是解析JSON字符串,还是构建符合规范的JSON对象,都能游刃有余。对于开发人员来说,掌握JSON的使用是现代Web开发的基础技能之一。
3. 使用JavaScript操作DOM,根据服务器返回的数据更新页面局部。 **1.4 创建XMLHttpRequest对象** 在所有现代浏览器中,如IE7+、Firefox、Chrome、Safari和Opera,都内置了`XMLHttpRequest`对象。在老版本的IE(IE...
总结来说,`json-git`为Node.js开发者提供了一个便捷的工具,用于对JSON数据进行版本控制,其轻量级、易用性和强大的功能使得它在各种场景下都有广泛的应用潜力。结合Node.js的生态环境,json-git可以帮助开发者更...
总结来说,JSON是JavaScript的重要组成部分,`json.js`和`json2.js`都是为了在没有内置JSON支持的环境中提供解决方案。理解这两个库的差异可以帮助我们更好地选择和使用它们,从而确保在各种环境下都能有效地处理...