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 相关文章推荐
基于json的jquery地区联动效果代码
Jul 06 Javascript
对setInterval在火狐和chrome切换标签产生奇怪的效果之探索,与解决方案!
Oct 29 Javascript
js兼容火狐显示上传图片预览效果的方法
May 21 Javascript
jquery分割字符串的方法
Jun 24 Javascript
AngularJs  Creating Services详解及示例代码
Sep 02 Javascript
使用JS实现图片展示瀑布流效果的实例代码
Sep 12 Javascript
jQuery实现磁力图片跟随效果完整示例
Sep 16 Javascript
JS使用正则截取两个字符串之间的字符串实现方法详解
Jan 06 Javascript
JS和jQuery通过this获取html标签中的属性值(实例代码)
Sep 11 jQuery
npm全局模块卸载及默认安装目录修改方法
May 15 Javascript
vue路由对不同界面进行传参及跳转的总结
Apr 20 Javascript
微信小程序清空输入框信息与实现屏幕往上滚动的示例代码
Jun 23 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 判断常量,变量和函数是否存在
2009/04/26 PHP
XAMPP安装与使用方法详细解析
2013/11/27 PHP
php根据日期判断星座的函数分享
2014/02/13 PHP
PHP实现HTTP断点续传的方法
2015/06/17 PHP
jquery不支持toggle()高(新)版本的问题解决
2016/09/24 PHP
关于js类的定义
2011/06/28 Javascript
js change,propertychange,input事件小议
2011/12/20 Javascript
javascript拖拽上传类库DropzoneJS使用方法
2013/12/05 Javascript
查找页面中所有类为test的结点的方法
2014/03/28 Javascript
js读写json文件实例代码
2014/10/21 Javascript
javascript制作坦克大战全纪录(2)
2014/11/27 Javascript
javascript获取重复次数最多的字符
2015/07/08 Javascript
Web打印解决方案之普通报表打印功能
2016/08/29 Javascript
webpack学习教程之publicPath路径问题详解
2017/06/17 Javascript
详解Angular Reactive Form 表单验证
2017/07/06 Javascript
浅谈ECMAScript6新特性之let、const
2017/08/02 Javascript
基于Vue 2.0的模块化前端 UI 组件库小结
2017/12/21 Javascript
详解如何优雅地在React项目中使用Redux
2017/12/28 Javascript
微信小程序自定义可滑动日历界面
2018/12/28 Javascript
简单了解JavaScript异步
2019/05/23 Javascript
python 编码规范整理
2018/05/05 Python
tensorflow实现读取模型中保存的值 tf.train.NewCheckpointReader
2020/02/10 Python
Selenium之模拟登录铁路12306的示例代码
2020/07/31 Python
python利用platform模块获取系统信息
2020/10/09 Python
Python类的继承super相关原理解析
2020/10/22 Python
Html5新特性用canvas标签画多条直线附效果截图
2014/06/30 HTML / CSS
国外平面设计素材网站:The Hungry JPEG
2017/03/28 全球购物
澳大利亚人信任的清洁平台,您的私人管家:Jarvis
2020/12/25 全球购物
白酒营销策划方案
2014/08/17 职场文书
婚宴领导致辞
2015/07/28 职场文书
简历自我评价范文
2019/04/24 职场文书
Python进度条的使用
2021/05/17 Python
Nginx防盗链与服务优化配置的全过程
2022/01/18 Servers
Python实现Matplotlib,Seaborn动态数据图
2022/05/06 Python
Pandas实现批量拆分与合并Excel的示例代码
2022/05/30 Python
向Spring IOC 容器动态注册bean实现方式
2022/07/15 Java/Android