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 相关文章推荐
javascript事件问题
Sep 05 Javascript
JS动态获取当前时间,并写到特定的区域
May 03 Javascript
jQuery xml字符串的解析、读取及查找方法
Mar 01 Javascript
javascript 判断是否是微信浏览器的方法
Oct 09 Javascript
jQuery web 组件 后台日历价格、库存设置的代码
Oct 14 Javascript
BootstrapTable refresh 方法使用实例简单介绍
Feb 20 Javascript
微信小程序对接七牛云存储的方法
Jul 30 Javascript
canvas+gif.js打造自己的数字雨头像的示例代码
Oct 26 Javascript
详解微信小程序图片地扯转base64解决方案
Aug 18 Javascript
详解vue 自定义组件使用v-model 及探究其中原理
Oct 11 Javascript
JS如何实现手机端输入验证码效果
May 13 Javascript
React中使用Vditor自定义图片详解
Dec 25 Javascript
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之require/include顺序 推荐
2011/01/02 PHP
PHP操作MongoDB时的整数问题及对策说明
2011/05/02 PHP
php设计模式 Observer(观察者模式)
2011/06/26 PHP
php array_walk 对数组中的每个元素应用用户自定义函数详解
2016/11/18 PHP
关于递归运算的顺序测试代码
2011/11/30 Javascript
一个基于jquery的文本框记数器
2012/09/19 Javascript
返回页面顶部top按钮通过锚点实现(自写)
2013/08/30 Javascript
在javascript中实现函数数组的方法
2013/12/25 Javascript
JS实现网页标题栏显示当前时间和日期的完整代码
2015/11/02 Javascript
基于jquery animate操作css样式属性小结
2015/11/27 Javascript
jquery.validate 自定义验证方法及validate相关参数
2016/01/18 Javascript
纯JS代码实现气泡效果
2016/05/04 Javascript
nodejs实例解析(输出hello world)
2017/01/03 NodeJs
Vue-cli proxyTable 解决开发环境的跨域问题详解
2017/05/18 Javascript
解决jquery的ajax调取后端数据成功却渲染失败的问题
2018/08/08 jQuery
解决ant Design中Select设置initialValue时的大坑
2020/10/29 Javascript
Python文档生成工具pydoc使用介绍
2015/06/02 Python
详解Django框架中用户的登录和退出的实现
2015/07/23 Python
Python自动生产表情包
2017/03/17 Python
python 编写简单网页服务器的实例
2018/06/01 Python
pip install urllib2不能安装的解决方法
2018/06/12 Python
关于ZeroMQ 三种模式python3实现方式
2019/12/23 Python
python调用API接口实现登陆短信验证
2020/05/10 Python
canvas绘制视频封面的方法
2018/02/05 HTML / CSS
玩具反斗城天猫官方旗舰店:享誉全球的玩具店
2017/10/10 全球购物
印度尼西亚最好的小工具在线商店:Erafone.com
2019/03/26 全球购物
Myprotein比利时官方网站:欧洲第一运动营养品牌
2020/10/04 全球购物
校本教研工作制度
2014/01/22 职场文书
物业保安员岗位职责制度
2014/01/30 职场文书
2014五一国际劳动节活动总结范文
2014/04/14 职场文书
任命书模板
2014/06/04 职场文书
离婚财产处理协议书
2014/09/30 职场文书
2015年母亲节寄语
2015/03/23 职场文书
实习证明格式范文
2015/06/16 职场文书
一次Mysql update sql不当引起的生产故障记录
2022/04/01 MySQL
vue 自定义组件添加原生事件
2022/04/21 Vue.js