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 相关文章推荐
Jquery实现点击按钮,连续地向textarea中添加值的实例代码
Mar 08 Javascript
借助FileReader实现将文件编码为Base64后通过AJAX上传
Dec 24 Javascript
JS基于clipBoard.js插件实现剪切、复制、粘贴
May 03 Javascript
JavaScript中的Number数字类型学习笔记
May 26 Javascript
Node.js中npm常用命令大全
Jun 09 Javascript
Angularjs中的验证input输入框只能输入数字和小数点的写法(推荐)
Aug 16 Javascript
React-Native中props具体使用详解
Sep 04 Javascript
JavaScript实现换肤功能
Sep 15 Javascript
vue axios 二次封装的示例代码
Dec 08 Javascript
浅析前端路由简介以及vue-router实现原理
Jun 01 Javascript
JavaScript接口实现方法实例分析
May 16 Javascript
Vue-router中hash模式与history模式的区别详解
Dec 15 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 cli换行示例
2014/04/22 PHP
php面向对象与面向过程两种方法给图片添加文字水印
2015/08/26 PHP
PHP中Static(静态)关键字功能与用法实例分析
2019/04/05 PHP
PHP7创建COOKIE和销毁COOKIE的实例方法
2020/02/03 PHP
document.documentElement的一些使用技巧
2013/04/18 Javascript
javascript检测对象中是否存在某个属性判断方法小结
2013/05/19 Javascript
利用ajaxfileupload插件实现文件上传无刷新的具体方法
2013/06/08 Javascript
谷歌地图打不开的解决办法
2014/08/07 Javascript
解决vue-cli项目打包出现空白页和路径错误的问题
2018/09/04 Javascript
JavaScript 复制对象与Object.assign方法无法实现深复制
2018/11/02 Javascript
利用React Router4实现的服务端直出渲染(SSR)
2019/01/07 Javascript
小程序云开发之用户注册登录
2019/05/18 Javascript
Vue 图片压缩并上传至服务器功能
2020/01/15 Javascript
Python人脸识别初探
2017/12/21 Python
详解tensorflow载入数据的三种方式
2018/04/24 Python
Python关于excel和shp的使用在matplotlib
2019/01/03 Python
Python网络爬虫之爬取微博热搜
2019/04/18 Python
python程序控制NAO机器人行走
2019/04/29 Python
python 在某.py文件中调用其他.py内的函数的方法
2019/06/25 Python
python with (as)语句实例详解
2020/02/04 Python
Pycharm操作Git及GitHub的步骤详解
2020/10/27 Python
python利用文件时间批量重命名照片和视频
2021/02/09 Python
图解CSS3制作圆环形进度条的实例教程
2016/05/26 HTML / CSS
BASIC HOUSE官方旗舰店:韩国著名的服装品牌
2018/09/27 全球购物
什么是表空间(tablespace)和系统表空间(System tablespace)
2013/02/25 面试题
《小儿垂钓》教学反思
2014/02/23 职场文书
元旦获奖感言
2014/03/08 职场文书
品牌宣传方案
2014/03/21 职场文书
员工试用期考核自我鉴定
2014/04/13 职场文书
小学班主任评语大全
2014/04/23 职场文书
英文推荐信格式范文
2014/05/09 职场文书
雷锋精神演讲稿
2014/05/13 职场文书
制冷与空调专业毕业生推荐信
2014/07/07 职场文书
公司承诺函范文
2015/01/21 职场文书
2015年端午节活动总结
2015/02/11 职场文书
判断Python中的Nonetype类型
2021/05/25 Python