10. JavaScript学习笔记——JSON
10. JSON
///【JSON是一种数据格式,不是JS 独有的】
///【JSON语法】
/*
1.数据书写格式:"name":value,JSON要求给属性名加上【双引号】,JSON不能用单引号
2.JSON值可以是:数字(整数、浮点数),字符串,布尔值(true false),数组,对象,null,注意没有undefined
3.数据由逗号分隔
4.大括号保存对象
5.中括号保存数组
*/
{
"bool":false,
"str":"string",
"num":12.3,
"null":null,
"arr":[1,"b",true],
"obj":{ //数组、对象可以任意嵌套
"a1":[1,2,3],
"a2":false
}
} ///【JSON对象】
//访问对象
alert(Jobj.name);//通过点
alert(Jobj["name"]);//通过[],同时这两种方法也可以修改 //循环对象
for(x in Jobj){
console.log(x);//注意循环出的是JSON的属性名
}
for(x in Jobj){
console.log(Jobj[x]);//通过索引来访问属性值,循环中不能通过 . 来获取属性值
} //删除对象属性
delete Jobj.name
delete Jobj["name"] //JSON对象与JSON字符串
var str = '{"name":"bin","age":20}';
var obj = {"name":"bin","age":20}; ///【解析与序列化】
//【JSON.parse()】
//JSON通常用于与服务端交换数据,接收到的服务端数据一般是字符串,可以使用JSON.parse()方法将其转换为JS对象
JSON.parse(text[,reviver]);//text是JSON字符串,reviver可选,为对象的每个成员调用此函数function(key,value){...return} //【JSON.stringify()】
//向服务器发送数据时一般是字符串,用JSON.stringify()将JSON对象转换为字符串
JSON.stringify(value,[,replacer[,space]]);//value是JSON对象,replacer function(key,value){...return} //【序列化选项】
//JSON.stringify()还可以接收另外两个参数,第一个参数是过滤器,可以是一个数组,也可以是一个函数;第二个参数是缩进选项。
//过滤结果
var book = {
"title":"book1",
year:2012,
edition:3
}
var jsonText = JSON.stringify(book,["title"]) //只保留数组内给定的属性
alert(jsonText)//{"title":"book1"} //函数形式
//该函数接收两个参数,分别是键和值,然后根据键值判断,如果返回值为 undefined,则响应的属性会被删除
var jsonText = JSON.stringify(book,function(key,value){
switch(key){
case "title":
return value;
case "year":
return value+5;
default: //必须加这个,必须返回value
return value;
}
}) //【字符串缩进】
//增加可读性
var jsonText = JSON.stringify(book,null,4)//缩进四个空格
10. JavaScript学习笔记——JSON的更多相关文章
- JavaScript学习笔记-JSON对象
JSON 是一种用来序列化对象.数组.数值.字符串.布尔值和 null 的语法.它基于 JavaScript 语法,但是又有区别:一些 JavaScript 值不是 JSON,而某些 JSON 不是 ...
- Java程序猿的JavaScript学习笔记(10—— jQuery-在“类”层面扩展)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- JavaScript:学习笔记(10)——XMLHttpRequest对象
JavaScript:学习笔记(10)——XMLHttpRequest对象 XHR对象 使用XMLHttpRequest (XHR)对象可以与服务器交互.您可以从URL获取数据,而无需让整个的页面刷新 ...
- JavaScript学习笔记[0]
JavaScript学习笔记[0] 使用的是廖雪峰JavaScript教程. 数据类型 Number 表示数字,不区分浮点整形. === 比较时不转化数据类型. == 反之. NaN与任何值都不想等, ...
- Java程序猿的JavaScript学习笔记(汇总文件夹)
最终完结了,历时半个月. 内容包含: JavaScript面向对象特性分析,JavaScript高手必经之路. jQuery源代码级解析. jQuery EasyUI源代码级解析. Java程序猿的J ...
- Java程序猿的JavaScript学习笔记(8——jQuery选择器)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- Java程序猿JavaScript学习笔记(2——复制和继承财产)
计划和完成在这个例子中,音符的以下序列: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaSc ...
- Java程序猿的JavaScript学习笔记(3——this/call/apply)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- Java程序猿JavaScript学习笔记(4——关闭/getter/setter)
计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScr ...
随机推荐
- SQL获取当前日期的年、月、日、时、分、秒数据
SQL Server中获取当前日期的年.月.日.时.分.秒数据: SELECT GETDATE() as '当前日期',DateName(year,GetDate()) as '年',DateName ...
- Oracle学习笔记(九)
十二.PL/SQL 1.PL/SQL程序的结构和组成 示例:给员工涨工资(根据职位涨工资) 总裁涨1000 经理涨800 其他员工涨400 学习原因:1.操作数据库效率最高 2.为了后期的存储过程的学 ...
- Shell脚本传递带有空格的参数[摘录自网络]
参数处理 说明 $# 传递到脚本的参数个数 $* 以一个单字符串显示所有向脚本传递的参数 $$ 脚本运行的当前进程ID号 $! 后台运行的最后一个进程的ID号 $@ 与$#相同,但是使用时加引号,并在 ...
- PHP(六)PHP和HTML混合的一种形式
- Linux 基础教程 45-read命令
基本用法 read命令主要用于从标准输入读取内容或从文件中读取内容,并把信息保存到变量中.其常用用法如下所示: read [选项] [文件] 选项 解释 -a array 将内容读取到数值中, ...
- Ubuntu命令基础
Ubuntu命令基础 1.打开终端窗口快捷键. Ctrl+alt+t 2.更新设置root密码. $sudo passwd root 3.切换到root用户用su,前提是自己设置了root密码(看 ...
- CVE-2018-7600 Drupal核心远程代码执行漏洞分析
0x01 漏洞介绍 Drupal是一个开源内容管理系统(CMS),全球超过100万个网站(包括政府,电子零售,企业组织,金融机构等)使用.两周前,Drupal安全团队披露了一个非常关键的漏洞,编号CV ...
- SQL Server—— 如何创建定时作业
在做SQL server 管理时,往往需要每日执行定时任务,但是如果每天都去人工执行,非常不方便,而且一般定时操作,都应该是在数据库压力不大时,一般是在夜间.所以我们需要创建定时作业来代替人工的执行定 ...
- mvc和mvvm的区别?
源自:https://segmentfault.com/q/1010000000534091?_ea=178721 Model:很简单,就是业务逻辑相关的数据对象,通常从数据库映射而来,我们可以说是与 ...
- 自己从0开始学习Unity的笔记 VII (C#中类继承练习)
好久都没有写了.今天做了类继承的练习,做了一个小队,进行简单的判定. namespace 兵团建立练习 { class ServantBasics { public string name; //pr ...