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

本文主要是对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包版本太低。

转载于:https://www.cnblogs.com/zhengfengyun/p/5353726.html

js之操作JSON数据相关推荐

  1. Jquery重新学习之五[操作JSON数据]

    Jquery操作Json格式的数据在我们平时的项目中也经常运用:最近看Jquery权威指南中就有一章节是对这方面的整理总结:最后通过一个Asp.net结合一般处理程序ashx的实例,基本上能满足项目中 ...

  2. js获取树形JSON数据根节点到任一子节点路径

    js获取树形JSON数据根节点到任一子节点路径 数据结构,deep表示节点深度 现在定义一个方法传入一个子节点对象,返回其对应路径. 首先遍历数据将遍历顺序放在一个数组中![首先递归遍历数据将遍历顺序 ...

  3. js实现格式化JSON数据方法

    前言: 最近做的项目中遇到个需要在前端页面中将某个设备需要的数据格式展示出来,方便用户配置.一开始单纯的将数据格式写入到pre标签中, 但是通过pre标签写入的数据格式在代码可视化上不是很优雅.由于上 ...

  4. js解析\遍历json数据中所有的键和值

    js解析\遍历json数据中所有的键和值 for(var key in json){ console.log(key)    //键 consolelog(json[key])  //值 } 注:数组 ...

  5. 微信小程序引用本地js里的json数据

    1.data.js(本地js里的json数据),位于项目更目录下 var data = [{"name": "女装","foods": [{ ...

  6. html js 循环取json数据,JS循环遍历JSON数据的方法

    JS循环遍历JSON数据 本文提供了 JS 循环 JSON 数据列,以及 JS 循环遍历 JSON 数据的例子,供大家学习参考. 1. json数据的列循环 var len = json.length ...

  7. js怎么解析json数据

    js解析json数据,可以使用JSON.parse()方法来实现解析.JSON.parse()方法可以解析JSON字符串,转换为 JavaScript 对象 打造全网web前端全栈资料库(总目录)看完 ...

  8. js操作json数据的一些感受

    最近在搞 json 数据传输,直接用的 javascript 对数据进行操作.json数据为: var json ={ "global":"200", &quo ...

  9. JS操作JSON数据交换

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 采用完全独立于语言的文本格式,易于人阅读和编写.同时也易于机器解析和生成. JSON采用完全独立于语言的 ...

最新文章

  1. “掘金”金融AI落地,英特尔趟出一套通关攻略
  2. 强力攻城狮的职位要求...
  3. SQL语句正常,在Navicat中运行正常,但是在后台运行,无法查询出数据,也不报错...
  4. python装饰器原理-深刻理解python装饰器
  5. cuk电路设计及matlab仿真,cuk斩波电路仿真毕业论文,绝对精品.doc
  6. flask 启动服务
  7. Visual Studio Developer Assistant 3月新功能展示
  8. linux网卡配置文件中2个ip,Linux Centos 7系统中如何一个网卡配置多个IP
  9. 物联网核心安全系列——车载物联网的加密防盗版
  10. C++中的模板那点事
  11. 引用一个falsh使它显示出来
  12. 20200827 plecs blockset更新版本
  13. 【雷达目标检测】恒定阈值法和恒虚警(CFAR)法及代码实现
  14. linux服务器上配置二级域名
  15. 会写代码的CTO曹艳白曹总,智核创投创始人,给搜房贡献的第一个大数据方面的专利...
  16. NTFS,FAT32和exFAT文件系统的区别
  17. 2750 心系南方灾区
  18. matlab创作歌曲——《月半小夜曲》
  19. 教育培训行业市场营销推广的主要方式有哪些
  20. 联想笔记本加固态后没声音(关于固态那些事)

热门文章

  1. Python_note8 程序设计方法学+Python第三方库安装+os库
  2. word2vec损失函数的数学推导和近似训练以及doc2vec的实战掉包应用
  3. JS代码报错 Uncaught SyntaxError: Unexpected token ,
  4. Python实例 遍历文件夹和文件
  5. Erlang Start![3]
  6. acm寒假特辑1月24日 HDU - 2191(背包)/CodeForces - 500A
  7. MyBatis框架的文件配置
  8. CSS:超出部分省略号
  9. sublime text3 格式化html代码
  10. 正则表达式判断号码靓号类型