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 特殊字符串
Feb 25 Javascript
jquery插件 cluetip 关键词注释
Jan 12 Javascript
3个可以改善用户体验的AngularJS指令介绍
Jun 18 Javascript
jQuery+Ajax+PHP+Mysql实现分页显示数据实例讲解
Sep 27 Javascript
学习Javascript面向对象编程之封装
Feb 23 Javascript
原生js实现jquery函数animate()动画效果的简单实例
Aug 21 Javascript
BootStrap iCheck插件全选与获取value值的解决方法
Aug 24 Javascript
jQuery Easyui Treegrid实现显示checkbox功能
Aug 08 jQuery
深入理解ES6学习笔记之块级作用域绑定
Aug 19 Javascript
vue 实现类似淘宝星级评分的示例
Mar 01 Javascript
常见的浏览器存储方式(cookie、localStorage、sessionStorage)
May 07 Javascript
Vue 封装防刷新考试倒计时组件的实现
Jun 05 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
javascript some()函数用法详解
2014/11/13 PHP
php操作(删除,提取,增加)zip文件方法详解
2015/03/12 PHP
php使用pdo连接sqlite3的配置示例
2016/05/27 PHP
laravel-admin 中列表筛选方法
2019/10/03 PHP
laravel框架模型、视图与控制器简单操作示例
2019/10/10 PHP
[HTML/CSS/Javascript]WWTJS
2007/09/25 Javascript
推荐40个简单的 jQuery 导航插件和教程(下篇)
2012/09/14 Javascript
网页瀑布流布局jQuery实现代码
2016/10/21 Javascript
详解AngularJS中的表单验证(推荐)
2016/11/17 Javascript
在网页中插入百度地图的步骤详解
2016/12/02 Javascript
webpack处理 css\less\sass 样式的方法
2017/08/21 Javascript
vue中实现先请求数据再渲染dom分享
2018/03/17 Javascript
微信小程序开发背景图显示功能
2018/08/08 Javascript
对vue中methods互相调用的方法详解
2018/08/30 Javascript
JavaScript设计模式之责任链模式实例分析
2019/01/16 Javascript
使用vue-cli3 创建vue项目并配置VS Code 自动代码格式化 vue语法高亮问题
2019/05/14 Javascript
react koa rematch 如何打造一套服务端渲染架子
2019/06/26 Javascript
vue中监听返回键问题
2019/08/28 Javascript
浅析JavaScript预编译和暗示全局变量
2020/09/03 Javascript
vscode 调试 node.js的方法步骤
2020/09/15 Javascript
深入理解javascript中的this
2021/02/08 Javascript
[42:32]完美世界DOTA2联赛循环赛 Magma vs PXG BO2第二场 10.28
2020/10/28 DOTA
python实现的udp协议Server和Client代码实例
2014/06/04 Python
Python字典数据对象拆分的简单实现方法
2017/12/05 Python
python re模块findall()函数实例解析
2018/01/19 Python
Python装饰器基础概念与用法详解
2018/12/22 Python
python日期相关操作实例小结
2019/06/24 Python
初次部署django+gunicorn+nginx的方法步骤
2019/09/11 Python
520使用Python实现“我爱你”表白
2020/05/20 Python
综合实践活动方案
2014/02/14 职场文书
国贸专业毕业求职信
2014/06/11 职场文书
房地产经营管理专业自荐信
2014/09/02 职场文书
党性心得体会
2014/09/03 职场文书
2014年乡镇安全生产工作总结
2014/12/02 职场文书
2015年酒店销售部工作总结
2015/07/24 职场文书
Spring Boot 排除某个类加载注入IOC的操作
2021/08/02 Java/Android