JS操作JSON方法总结(推荐)


Posted in Javascript onJune 14, 2016

JSON概述:

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不需要任何特殊的 API 或工具包。

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

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

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

JSON 语法规则

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

数据在名称/值对中

数据由逗号分隔

花括号保存对象

方括号保存数组

好了,以上所述不是本文的重点,本文主要是对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包版本太低。

以上所述是小编给大家介绍的JS操作JSON方法总结(推荐)的全部叙述,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
xml分页+ajax请求数据源+dom取结果实例代码
Oct 31 Javascript
JS setCapture 区域外事件捕捉
Mar 18 Javascript
jQuery EasyUI API 中文文档 - Dialog对话框
Nov 15 Javascript
javascript之querySelector和querySelectorAll使用介绍
Dec 20 Javascript
Javascript的数组与字典用法与遍历对象的属性技巧
Nov 07 Javascript
javascript框架设计之种子模块
Jun 23 Javascript
在一个页面实现两个zTree联动的方法
Dec 20 Javascript
vue.js单文件组件中非父子组件的传值实例
Sep 13 Javascript
微信小程序Echarts覆盖正常组件问题解决
Jul 13 Javascript
微信公众号H5之微信分享常见错误和问题(小结)
Nov 14 Javascript
vue解决跨域问题(推荐)
Nov 10 Javascript
Vue OpenLayer测距功能的实现
Apr 20 Vue.js
JavaScript Promise 用法
Jun 14 #Javascript
Javascript基础_简单比较undefined和null 值
Jun 14 #Javascript
Javascript缓存API
Jun 14 #Javascript
JS修改地址栏参数实例代码
Jun 14 #Javascript
JS获取地址栏参数的两种方法(简单实用)
Jun 14 #Javascript
Javascript基础_嵌入图像的简单实现
Jun 14 #Javascript
jQuery实例—选项卡的简单实现(js源码和jQuery)
Jun 14 #Javascript
You might like
PHP Cookie的使用教程详解
2013/06/03 PHP
PHP生成器简单实例
2015/05/13 PHP
PHP结合jQuery插件ajaxFileUpload实现异步上传文件实例
2020/08/17 PHP
laravel 解决Validator使用中出现的问题
2019/10/25 PHP
FormValidate 表单验证功能代码更新并提供下载
2008/08/23 Javascript
Jquery为单选框checkbox绑定单击click事件
2012/12/18 Javascript
JavaScript中数组对象的那些自带方法介绍
2013/03/12 Javascript
js window.open弹出新的网页窗口
2014/01/16 Javascript
js操纵dom生成下拉列表框的方法
2014/02/24 Javascript
在Google 地图上实现做的标记相连接
2015/01/05 Javascript
AngularJS中的JSONP实例解析
2016/12/01 Javascript
使用jquery给新生的th绑定hover事件的实例
2017/02/10 Javascript
详解vue组件化开发-vuex状态管理库
2017/04/10 Javascript
微信小程序滚动Tab实现左右可滑动切换
2017/08/17 Javascript
vue组件name的作用小结
2018/05/23 Javascript
详解ES6 Symbol 的用途
2018/10/14 Javascript
vue-router命名视图的使用讲解
2019/01/19 Javascript
VUE 组件转换为微信小程序组件的方法
2019/11/06 Javascript
Python合并两个字典的常用方法与效率比较
2015/06/17 Python
利用Python实现Windows下的鼠标键盘模拟的实例代码
2017/07/13 Python
Python验证文件是否可读写代码分享
2017/12/11 Python
python机器学习之神经网络(三)
2017/12/20 Python
Python3.5迭代器与生成器用法实例分析
2019/04/30 Python
tensorflow多维张量计算实例
2020/02/11 Python
Tensorflow之梯度裁剪的实现示例
2020/03/08 Python
selenium学习教程之定位以及切换frame(iframe)
2021/01/04 Python
HTML5页面嵌入小程序没有返回按钮及返回页面空白的问题
2020/05/28 HTML / CSS
介绍一些UNIX常用简单命令
2014/11/11 面试题
大学生专科毕业生自我评价
2013/11/17 职场文书
2014全国两会学习心得体会2000字
2014/03/10 职场文书
家长对学生的评语
2014/04/18 职场文书
高二学生评语大全
2014/04/25 职场文书
党干部专题民主生活会对照检查材料思想汇报
2014/10/06 职场文书
公司财务经理岗位职责
2015/04/08 职场文书
开业典礼致辞
2015/07/29 职场文书
2015年学校消防安全工作总结
2015/10/14 职场文书