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);

数据组var str='[{"name":"cxh","sex":"man"},{"name":"cxh1","sex":"man1"}]';

var obj = str.parseJSON();

alert(obj[0].name)

注意:

上面的多个要领中,除了eval()函数是js自带的之外,其他的多个要领都来自json.js包。新版本的 JSON 修改了 API,将 JSON.stringify() 和 JSON.parse() 两个要领都注入到了 Javascript 的内建对象里面,前者变成了 Object.toJSONString(),而后者变成了 String.parseJSON()。如果提示找不到toJSONString()和parseJSON()要领,则说明您的json包版本太低。

以上就是js读取和解析JSON数据的方法详解,希望能帮助到大家。

相关推荐:

php 读取 js json格式数据,js读取和解析JSON数据的方法相关推荐

  1. C# JSON格式的字符串读取到类中

    2019独角兽企业重金招聘Python工程师标准>>> 将JSON格式的字符串读取到类中 本例中建立JSON格式的字符串json,将其内容读取到Person类中 运行本代码需要添加引 ...

  2. java js对象转字符串数组_js 转json格式的字符串为对象或数组(前后台)的方法

    一.前台 // 转换成对象 var myObject = JSON.parse(_data); alert("对象:"+myObject.msg); // 转换成数组 var my ...

  3. php使用 js格式解析,php 无限级数据JSON格式及JS解析_PHP教程

    Flash需要JSON格式的数据,于是,就有了如下代码:(PHP实现,C#类似,JSON库自己去下吧~~) 复制代码 代码如下: //–查询用户下线信息,返回JSON,用于flash if(!empt ...

  4. 利用js-xlsx.js插件实现Excel文件导入并解析Excel数据成json数据格式

    <!--本文转载于网络,有太多一样的文章,不知道原作者是哪位了,就不注明出处了.这里记载下来,用于自己的学习借鉴--><!DOCTYPE html><html lang= ...

  5. JS中Json数据的处理和解析JSON数据的方法详解

    学习目标: 节数 知识点 要求 第一节 数组去重 数组去重 了解 第二节 数组排序 数组排序 了解 第三节 json概述 json概述 掌握 第四节 json方法 json方法 掌握 第五节 json ...

  6. js html 处理json数据,JS中Json数据的处理和解析JSON数据的方法详解

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族 ...

  7. js跨域调用php接口,php的json格式和js跨域调用的代码

    function jsontest() { var json = [{'username':'crystal','userage':'20'},{'username':'candy','userage ...

  8. php 跨域 json,PHP json格式和js json格式 js跨域调用实现代码

    先看一个js函数 function jsontest() { var json = [{'username':'crystal','userage':'20'},{'username':'candy' ...

  9. python 读取excel格式xml,读取xml格式的xls文件、解析其中数据

    1.python 读取excel格式xml,解析其中数据 当excel文件的格式是xml的时候,window系统是可以正常打开的,但是使用pandas直接读取则会报错,原因就是现在已经是xml文件了, ...

  10. android post json格式,Android中post请求传递json数据给服务端的实例

    在最近的项目中有个需求是这样的: 入参封装成JSON,EXAMPLE: { "uuid": "iamauuid","clientType": ...

最新文章

  1. 实验三银行家算法linux,操作系统原理与linux_银行家算法实验报告.doc
  2. pcb入门之新建工程
  3. 007_Web to lead
  4. @controlleradvice注解作用_springboot的常用注解分析
  5. 知名电商“猝死”办公地人去楼空:不发货退款难 消费者被坑哭了
  6. 计算机网口在哪看,联想电脑网线接口在哪
  7. Axure原型分类及存在意义
  8. Objective-C JSON字符串解析
  9. 深度linux12.12安装,深度Linux 12.12 Alpha发布
  10. 检测数据库连接泄漏的最佳方法
  11. luci html 页面,luci界面修改
  12. 链表(线性表的一种存储结构)
  13. 《基于GPU加速的计算机视觉编程》学习笔记
  14. Excel 隔行变色
  15. Adobe Flashplayer orHTML5 Browser with WebGL or CSS3D support required 解决方案
  16. java Servlet 笔记
  17. 一张图看明白电信云解决方案架构
  18. IP地址、手机归属和身份证查询接口
  19. 计算机毕业设计SSM 校园疫情防控系统【附源码数据库】
  20. 开发板实战篇3 6位数码管动态显示

热门文章

  1. MQTT libary之发布和订阅之开发秘籍
  2. 如何开启内存超频?来看
  3. matlab修改txt文档内容
  4. 初学者怎么入门单片机?玩哪款单片机容易?
  5. c语言 序列化,序列化和反序列化
  6. html空格语言,html的空格代码是什么
  7. Day04 数据库设计01 ~多表之间的关系(一对一,一对多,多对多)
  8. CF51C Three Base Stations
  9. 【DELL】戴尔笔记本PE下没有硬盘解决方法
  10. 个人计算机bios设置密码,为何要给计算机的BIOS设置密码