轻量级数据交换格式JSON
json是一种数据格式,不是一种编程语言。
json是一种轻量级的数据格式,可以简化表示复杂数据结构的工作量。
1、语法
①json字符串必须使用双引号
②没有声明变量
③没有末尾分号
④json对象中的属性名必须加双引号
json的语法可以表示三种类型的值
简单值:使用与js相同的语法,可以在json中表示字符串、数值、布尔值和null。(不支持undefined)
"hello world"
复制代码
对象:
{"name":"Ewall","age":21
}
复制代码
数组:
[25,"ewall",true]
复制代码
2、JSON对象
两个方法:stringfy( ):把js对象序列化为json字符串
parse( ):把json字符串解析为原生js值
var person={name:"Ewall",friends:["joe","frank"],edition:3,year:2017
};
var jsonText=JSON.stringify(person);
console.log(jsonText);
复制代码
3、JSON.stringfy( )的具体用法
该方法可以传入三个参数,第一个参数是要序列化的对象;第二个是个过滤器(可以是数组或者是函数);第三个是一个选项,表示是否在JSON字符串中保留缩进。
①当过滤器是数组,那么该方法返回的结果将只包含数组中列出的属性
var person={name:"Ewall",friends:["joe","frank"],edition:3,year:2017
};
var jsonText=JSON.stringify(person,["name","year"]);console.log(jsonText); //{"name":"Ewall","year":2017}
复制代码
②当过滤器是函数。传入的函数接收两个参数,属性名和属性值,根据属性名可以知道应该如何处理要序列化的对象中的属性。
var person={name:"Ewall",friends:["joe","frank"],edition:3,year:2017
};
var jsonText=JSON.stringify(person,function(key,value){switch(key){case "friends":return value.join(",");case "year":return undefined; //通过返回undefined删除该属性default:return value;}
});
console.log(jsonText); //{"name":"Ewall","friends":"joe,frank","edition":3}
复制代码
4、JSON.parse( )方法的具体用法
接收两参数:第一个参数是要序列化的对象;第二个参数是个还原函数。
在将日期字符串转换为Date对象是,经常要用到还原函数。
var person={name:"Ewall",friends:["joe","frank"],edition:3,year:2017,releaseDate:new Date()
};
var jsonText=JSON.stringify(person);
console.log(jsonText);var bookCopy=JSON.parse(jsonText,function(key,value){if(key=="releaseDate"){return new Date(value); //基于相应的json值创建一个新的Date对象}else{return value;}
});
console.log(bookCopy.releaseDate);
复制代码
觉得不错请点赞支持,欢迎留言或进我的个人群855801563领取【架构资料专题目合集90期】、【BATJTMD大厂JAVA面试真题1000+】,本群专用于学习交流技术、分享面试机会,拒绝广告,我也会在群内不定期答题、探讨。
转载于:https://juejin.im/post/5cbd7bc76fb9a032165e1f07
轻量级数据交换格式JSON相关推荐
- 数据交换格式Json与XML
什么是数据交换格式: 主流的有Json.XML.HTML. 数据交换格式的应用场景: 移动端(安卓,IOS)通讯方式采用http协议+Json格式的restful风格. 很多互联网公司都是用Http协 ...
- XML和JSON两种数据交换格式的比较
目前,在web开发领域,主要的数据交换格式有XML和JSON,对于XML相信每一个web developer都不会感到陌生: 相比之下,JSON可能对于一些新步入开发领域的新手会感到有些陌生,也可能你 ...
- 【Java】JSON数据交换格式及其使用案例(聊天工具)
数据交换格式主要分为纯文本格式,XML格式和JSON格式.其中纯文本格式是一种简单的,无格式的数据交换方式:而XML格式和JSON格式可以带有描述信息,它们叫做"自描述的"结构化文 ...
- Ajax--概述、xhr对象的常用属性和方法、xhr的常用事件、xhr对象发送POST请求、xhr对象发送GET请求、xhr对象的兼容性问题、数据交换格式(XML、JSON)
一.概述 1.1 发展历程 在开始之前先来看一下Ajax的工作原理吧,如下图所示: Ajax全称Asynchronous javascript and xml(异步 JavaScript 和 XML) ...
- 数据交换格式与SpringIOC底层实现
课程目标 XML和JSON Java反射机制 手写SpringIOC 什么是数据交换格式 客户端与服务器常用数据交换格式xml.json.html 数据交换格式用场景 移动端(安卓.IOS)通讯方式采 ...
- XML和JSON 数据交换格式
为什么80%的码农都做不了架构师?>>> 一.什么是数据交换格式? 客户端与服务器常用数据交换格式xml.json.html 二.数据交换格式应用场景 移动端(安卓.IOS)通 ...
- 于数据交换格式XML和JSON的比较
目前,在web开发领域,主要的数据传输格式有XML和JSON,对于XML相信每一个web developer都不会感到陌生:相比之下,JSON可能对于一些新步入开发领域的新手会感到有些陌生,也可能你之 ...
- 使用 C++ 处理 JSON 数据交换格式
From: http://blog.csdn.net/xt_xiaotian/article/details/5648388 使用 C++ 处理 JSON 数据交换格式 一.摘要 JSON 的全称为: ...
- Ajax学习(3)XMLHttpRequest的使用+数据交换格式(JSON)
XMLHttpRequest的使用 XMLHttpRequest(简称 xhr)是浏览器提供的 Javascript 对象,可以请求服务器上的数据资源.(jQuery 中的 Ajax 函数,就是基于 ...
最新文章
- Android studio 不显示自定义View 的提示
- oracle prvg 1901,12c 打补丁analyze时报错
- perl 对ENV环境变量的使用
- Function types cannot have argument labels 错误解决方案
- WX微信小程序路由API使用
- 两个应用程序之间的通信
- python在linux下打包程序_Python打包程序
- 上海臻图信息3DGIS+BIM技术助力智慧城市地下综合管廊建设
- matlab 函数semilogy()
- Revit API之获取复合结构和材质
- 笔记本电脑计算机无法显示u盘,笔记本不识别u盘怎么办_笔记本电脑不读U盘如何解决-win7之家...
- 贝叶斯网络之父Judea Pearl力荐、LeCun点赞,这篇长论文全面解读机器学习中的因果关系
- floor关键字用法:
- 房产估值模型训练及预测结果
- 少儿编程scratch与机器人
- 什么是云报修?它有什么特点?
- 【频率计】基于FPGA的频率计设计
- 多edittext监听变化的优化
- Pr 入门教程如何创建动画开头标题?
- ETF动量轮动+RSRS择时,RSRS修正标准分,回撤降至16%
热门文章
- 测试工程方法:判定表驱动法
- USACO Section2.2 Preface Numbering 解题报告 【icedream61】
- 返回行javascript比较时间大小
- CString 和 char * 的相互转换
- Devpress.XtraGrid.GridControl.GridView属性
- (转)petshop4.0中的Profile理解(匿名用户身份)
- 【logstash】logstash monitor
- 【Java】springboot学习笔记二
- 【mysql】在Linux中通过yum安装MySQL数据库,可以实现远程登录数据库
- html下拉表覆盖透明,css透明元素如何遮挡住fixed元素