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的更多相关文章

  1. JavaScript学习笔记-JSON对象

    JSON 是一种用来序列化对象.数组.数值.字符串.布尔值和 null 的语法.它基于 JavaScript 语法,但是又有区别:一些 JavaScript 值不是 JSON,而某些 JSON 不是 ...

  2. Java程序猿的JavaScript学习笔记(10—— jQuery-在“类”层面扩展)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  3. JavaScript:学习笔记(10)——XMLHttpRequest对象

    JavaScript:学习笔记(10)——XMLHttpRequest对象 XHR对象 使用XMLHttpRequest (XHR)对象可以与服务器交互.您可以从URL获取数据,而无需让整个的页面刷新 ...

  4. JavaScript学习笔记[0]

    JavaScript学习笔记[0] 使用的是廖雪峰JavaScript教程. 数据类型 Number 表示数字,不区分浮点整形. === 比较时不转化数据类型. == 反之. NaN与任何值都不想等, ...

  5. Java程序猿的JavaScript学习笔记(汇总文件夹)

    最终完结了,历时半个月. 内容包含: JavaScript面向对象特性分析,JavaScript高手必经之路. jQuery源代码级解析. jQuery EasyUI源代码级解析. Java程序猿的J ...

  6. Java程序猿的JavaScript学习笔记(8——jQuery选择器)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  7. Java程序猿JavaScript学习笔记(2——复制和继承财产)

    计划和完成在这个例子中,音符的以下序列: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaSc ...

  8. Java程序猿的JavaScript学习笔记(3——this/call/apply)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  9. Java程序猿JavaScript学习笔记(4——关闭/getter/setter)

    计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScr ...

随机推荐

  1. qt学习(一) qt安装

    QT5现在安装已经方便了许多 相比QT4 可以一路点击到底 无需额外的太多的操作. http://download.qt.io/official_releases/ 下载 1 windows下可以选择 ...

  2. 如何用Python实现常见机器学习算法-1

    最近在GitHub上学习了有关python实现常见机器学习算法 目录 一.线性回归 1.代价函数 2.梯度下降算法 3.均值归一化 4.最终运行结果 5.使用scikit-learn库中的线性模型实现 ...

  3. ACTIVIT 5.15.1修改记录

    1.ProcessDefinitionEntity 将 protected transient ActivitiEventSupport eventSupport; 修改成: protected  A ...

  4. Nginx搭建成功后,无法访问Tomcat问题

    一.nginx搭建好后无法访问后端Tomcat项目 通过项目名称过滤的方式访问Tomcat,比如项目名称叫easy. 修改其server下的location目录,配置如下: server { #监听的 ...

  5. 从《数据挖掘概念与技术》到《Web数据挖掘》

    从<数据挖掘概念与技术>到<Web数据挖掘> 认真读过<数据挖掘概念与技术>的第一章后,对数据挖掘有了更加深刻的了解.数据挖掘是知识发展过程的一个步骤.知识发展的过 ...

  6. 《官方资料》 例如:string 函数 、分组函数

    site:www.mysql.com SUBSTRING_INDEX ----------------------------------------------------------------- ...

  7. handsontable-常用配置

    冻结单元格 var //自动创建数据 myData = Handsontable.helper.createSpreadsheetData(100, 50), container = document ...

  8. Tomcat 系统架构与设计模式1

    从 Tomcat 如何分发请求.如何处理多用户同时请求,还有它的多级容器是如何协调工作的角度来分析 Tomcat 的工作原理,这也是一个 Web 服务器首要解决的关键问题 Tomcat 总体结构 To ...

  9. XEvent--Demo--使用XEvent来捕获在数据库DB1上发生的锁请求和锁释放

    --==============================================================--使用XEvent来捕获在数据库DB1上发生的锁请求和锁释放--=== ...

  10. 扫描指定ip的端口(C#)

    class PingExam { public static void Main() { Ping ping = new Ping(); string ip = "192.168.1.43& ...