js读取解析JSON数据
简介
1、JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON
2、是轻量级的文本数据交换格式。 JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理JSON数据,不须要任何特殊的 API 或工具包。
3、JSON 独立于语言:JSON 虽然使用 JavaScript来描述数据对象,但JSON 仍然独立于JS。
4、JSON 解析器和 JSON 库支持许多不同的编程语言。目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。
5、对于 AJAX 应用程序来说,JSON 比 XML 更快更易使用
一、JSON的两种数据结构 及操作
JSON 有两种数据结构:对象、数组。
JSON 语法是 JavaScript 语法的子集,所以操作同JS一样。
1、对象
//简单形式:
var o={"name":"bty","age":11,"time":"2009-08-20"};
//复杂形式:
var o2 = {"list":[{"password":"666","name":"bty"},{"password":"422","name":"zsn"}],"array":[{"password":"123","name":"bty"},{"password":"452","name":"zsn"}]
};
注:{开始,}结束。名称/值用 逗号 隔开。
名称用 双引号括 起来;值如果是字符串则必须用 双引号括号,数值型则不须要。
2、数组
//简单形式:var jsonArr2 = ["Google", "Runoob", "Taobao"]//复杂形式:var jsonArr2 = [ {"name":"bty","age":11,"time":"2009-08-20"},{"name":"zsn","age":10,"time":"2008-08-20"} ];
注:数组是值(value)的有序集合。以“[”开始,“]”结束。值之间运用 “,”(逗号)分隔。
3、操作
以上面例子为例。
(1) 修改值: 同JS一样
o2.list[0].name = "sam"; //修改对象属性的值
jsonArr2[0].name = "sam"; //修改数组元素的值
(2)删除值: 同JS一样
delete o2.list; //删除对象属性delete jsonArr2[0]; //删除数组元素delete jsonArr2[0].name; //删除数组元素属性
二、JSON的关键
在数据传输流程中,json是以文本(即字符串)的形式传递的,而JS操作的是JSON对象,所以JSON对象和JSON字符串之间的相互转换是关键。
区分JSON字符串和JSON对象:
//JSON字符串:var str1 = '{ "name": "bty", "sex": "man" }';//JSON对象: var str2 = { "name": "zsh", "sex": "man" };
三、JSON字符串与对象的转换
1、JSON字符串 转换 为JSON对象
以上面str1为例
转换有三种形式
//1)
var obj = eval('(' + str1 + ')');
//2)
var obj = str1.parseJSON();
//3)
var obj = JSON.parse(str1);
然后,就可以这样读取转换后的数据:
alert(obj.name);
alert(obj.sex);
注:JSON.parse()和eval()方法的区别:JSON.parse()不仅可以解析json格式的数据,而且还会对要解析的字符串进行格式检查,如果格式不正确则不进行解析,而eval()则可以解析任何字符串,eval是不安全的。
eval(string):函数可计算某个字符串,并执行其中的的 JavaScript 代码。
eval()详解:点击这里
2、JSON对象 转化 为JSON字符串
//1)
var last=obj.toJSONString();
//2)
var last=JSON.stringify(obj);alert(last);
四、实例
var str='[ {"name":"bty","sex":"man"},{"name":"ZSN","sex":"girl"}
]'; //字符串
var obj = str.parseJSON();//JSON字符串转JSON对象
alert(obj[0].name); //bty
日常项目JSON运用的难点 并不是通过网络请求接受到JSON数据,而是如何把接受到的JSON数据进行处理(转换数据结构等)。
网络请求分配给客户端的JSON数据一般都是 JSON字符串,把JSON字符串转换为可操作的 JSON对象很容易(调用JSON.parse()或parseJSON()方法即可),但是往往转换后的 JSON对象的数据格式或结构 并不符合 项目中API的要求,所以我们还要将该JSON对象的数据结构转换为项目中 可用的数据结构,这才是难点。
最后附几个常用的JSON工具链接
JSON在线解析
JSON压缩转义
js读取解析JSON数据相关推荐
- js读取解析JSON数据(转)
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意 ...
- js读取解析JSON类型数据【申明:来源于网络】
js读取解析JSON类型数据[申明:来源于网络] 地址:http://blog.csdn.net/sunhuaqiang1/article/details/47026841 转载于:https://w ...
- js怎么解析json数据
js解析json数据,可以使用JSON.parse()方法来实现解析.JSON.parse()方法可以解析JSON字符串,转换为 JavaScript 对象 打造全网web前端全栈资料库(总目录)看完 ...
- js读取解析JSON类型数据
2019独角兽企业重金招聘Python工程师标准>>> 一.什么是JSON? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独 ...
- canvas绘制心电图(js读取csv心电数据文件)
一.目的 浏览器网页中绘制心电图并展示: js读取解析心电数据文件: 此文涉及到js从文件中读取心电数据环节(为什么一定是js读文件呢?因为心电图的绘制用到了HTML5中的canvas属性,而canv ...
- php 读取 js json格式数据,js读取和解析JSON数据的方法
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意 ...
- JS解析json数据并将json字符串转化为数组的实现方法
json数据在ajax实现异步交互时起到了很重要的作用,他可以返回请求的数据,然后利用客户端的js进行解析,这一点体现出js的强大,本文介绍JS解析json数据并将json字符串转化为数组的实现方法, ...
- JS解析json数据(json字符串和数组之间相互转换)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD ...
- Web中JS(Javascript)解析JSON数据的方法
js解析json数据,可以使用JSON.parse()方法来实现解析.JSON.parse()方法可以解析JSON字符串,转换为 JavaScript 对象 下面我们就结合简单的代码示例,给大家介绍j ...
最新文章
- 如何用 Python 将 Excel 表格转成可视化图形?| 原力计划
- SQL语句,统计一段时间内有多少个工作日
- JZOJ 4421. aplusb
- MATLAB数字图像处理详细总结
- 软件性能测试pdf,软件性能测试报告模板.pdf
- MySQL学习笔记(6)
- 关于SSL认证的小坑 SSLPeerUnverifiedException
- 【Codeforces思维题】20220728
- 苹果7支持快充吗_苹果支持20W快充了,什么20W还叫快充,国内都到120W了
- 免授权采集海天注塑机采集伊之密注塑机监控住友注塑机参数采集
- layui 设置table单元格背景色
- 解决CentOS安装VM Tools出现在客户机中装载CD驱动器启动终端,使用tar解压缩安装程序,然后执行vmware-insall.pl安装VMware Tools的问题。
- filebeat收集日志到elsticsearch中并使用ingest node的pipeline处理
- LInux 下 Anaconda多环境切换
- D435i安装驱动时遇到的configuring Secure Boot问题
- 测试jre 和jdk是否安装好
- SQLServer常用快捷键汇总
- 贷前审批策略的6个搭建思路
- SAP UI5 数据类型(data type) 学习笔记
- 软件测试工程师求职的时候怎么自我介绍?