//JSON 的简单值
10
null
true
"fc"//对象表示
var box = {name : 'fc',age : 25
};//JSON对象表示
{"name" : "fc","age" : "25"
}'{"name" : "fc","age" : "25"}'
//PS:JSON说白了就是一个字符串,所以任何表示,都应该加上引号表示字符串。// 普通数组
var box = [100, 'fc', true];// JSON数组
'[100, "fc", true]'
// PS:JSON对象和数组比普通对象和数组,少了分号,少了变量赋值,而且本身应该是字符串表示。// 最常用的JSON结构
[{"name" : "fc","age" : 25},{"name" : "lq","age" : 25},{"name" : "hehe","age" : 25}
]// 模拟加载JSON数据字符串的过程, var json = load('demo.json');
// 把JSON字符串加载进来并且赋值给json变量。var json = [{"title":"a","num":1},{"title":"b","num":2}];
var json1 = '[{"title":"a","num":1},{"title":"b","num":2}]';console.log(json);  //[Object, Object]
console.log(json1); //[{"title":"a","num":1},{"title":"b","num":2}]
console.log(typeof json1);  //string// 解析和序列化
// 如果是载入的JSON文件,我们需要对其进行使用,那么就必须对JSON字符串解析成原生的JavaScript值。当然,如果是原生的JavaScript对象或数组,也可以转换成JSON字符串。
// 对于将JSON字符串解析为JavaScript原生值,早期采用的是eval()函数。但这种方法既不安全,可能会执行一些恶意代码。
var json = '[{"title":"a","num":1},{"title":"b","num":2}]';
var box = eval(json);
console.log(box);   //[Object, Object]
console.log(box[1].title);  //bvar box = [{title : 'a',num : 1,height : 122},{title : 'b',num : 2,height : 133}
]var json = JSON.stringify(box);
console.log(json);  //[{"title":"a","num":1,"height":122},{"title":"b","num":2,"height":133}]var box = [{title : 'a',num : 1,height : 122},{title : 'b',num : 2,height : 133}
]var json = JSON.stringify(box,['num', 'height']);
console.log(json);  //[{"num":1,"height":122},{"num":2,"height":133}]var box = [{title : 'a',num : 1,height : 122},{title : 'b',num : 2,height : 133}
]var json = JSON.stringify(box, function (key, value) {if(key === 'title'){return 'Mr.' + value;} else {return value;}
});
console.log(json);  //[{"title":"Mr.a","num":1,"height":122},{"title":"Mr.b","num":2,"height":133}]// PS:火狐3.5和3.6在最初支持JSON的时候stringify方法有个小bug,执行funxtion会出错。var box = [{title : 'a',num : 1,height : 122},{title : 'b',num : 2,height : 133}
]var json = JSON.stringify(box,['title', 'num'], 4);
var json2 = JSON.stringify(box,['title', 'num'], '--');
console.log(json);
// [
//     {//         "title": "a",
//         "num": 1
//     },
//     {//         "title": "b",
//         "num": 2
//     }
// ]

console.log(json2);
// [
// --{// ----"title": "a",
// ----"num": 1
// --},
// --{// ----"title": "b",
// ----"num": 2
// --}
// ]var box = [{title : 'a',num : 1,height : 122},{title : 'b',num : 2,height : 133}
]var json = JSON.stringify(box,null , 4);console.log(json);
// [
//     {//         "title": "a",
//         "num": 1,
//         "height": 122
//     },
//     {//         "title": "b",
//         "num": 2,
//         "height": 133
//     }
// ]var box = [{title : 'a',num : 1,height : 122,toJSON : function () {return this.title;}},{title : 'b',num : 2,height : 133,toJSON : function () {return this.title;}}
]var json = JSON.stringify(box);console.log(json);  //["a","b"]// JSON序列化也有执行顺序,首先执行toJSON()方法;如果应用了第二个参数,则执行这个方法。然后执行序列化过程。比如将键值对组成合法的JSON字符串,比如加上双引号,如果提供了缩进,在执行缩进操作。var json = '[{"title":"a","num":1},{"title":"b","num":2}]';
var box = JSON.parse(json)
console.log(json);

转载于:https://www.cnblogs.com/baixc/p/4685183.html

JSON——李炎灰js笔记相关推荐

  1. 前端三板斧: HTML+CSS+JS笔记 摘自b站狂神说

    参考b站狂神说的前端视频,做的笔记 视频地址:https://www.bilibili.com/video/BV1x4411V75C HTML 5 什么是HTML? hyper text markup ...

  2. Long类型转json时前端js丢失精度解决方案

    Long类型转json时前端js丢失精度解决方案 参考文章: (1)Long类型转json时前端js丢失精度解决方案 (2)https://www.cnblogs.com/lvgg/p/7475140 ...

  3. js笔记(一)js基础、程序结构、函数

    大标题 小节 一.js 基础 1. javascript的组成: 2. 运行js: 3. 打印信息: 4. 关键字var: 5. js中的数据类型: 6. NaN(not a number): 7. ...

  4. js将object转化为json数据,json数据转js对象

    json数据转js对象:  JSON.parse(); js对象转json数据:  JSON.stringify();

  5. Vue.js笔记(一)

    Vue.js笔记(一) 读书笔记 Vue.js介绍 内容概要 1.1 站在巨人的肩膀上 1.1.1 MVC模式 1.1.2 MVVM模式 2.1.3 异步执行脚本 2.1.4 动态加载脚本 2.2 行 ...

  6. 前端学习之路坑一:json对象和JS对象

    做登录验证的时候,前端Vue使用axios.post向后台php编写的API发送验证数据,发现无论如何都验证无法通过,返回值里带的POST数据显示发过去的都是JS对象 正值初学,也分不清数据格式,只看 ...

  7. js中如何将object转化为json数据,json数据转js对象

    js对象转json数据:  JSON.stringify(); json数据转js对象:  JSON.parse();

  8. Node.js笔记:SerialPort(串口)模块使用(基于9.x.x)

    文章目录 目的 模块安装 基础使用 扫描端口 打开端口 发送数据 接收数据 错误处理 数据解析器 SerialPort类 构造方法 属性 事件 方法 命令行工具 总结 目的 上位机与各种电路模块间常常 ...

  9. json串和js对象互转

    文章目录 json字符串和js对象的互转 json字符串转成js对象 json数组转换js对象 js对象转json串 测试的完整代码 json字符串和js对象的互转 JSON对象: 用来完成 js对象 ...

最新文章

  1. $.ajax上传文件或者上传图片
  2. 福布斯:2018年将改变世界的九股科技大趋势
  3. 数据中台应用实战50篇(一)-带你概览BI、数据仓库、数据湖与数据中台之间有什么关联关系?(建议收藏)
  4. 佳能2900打印机与win10不兼容_佳能mg3660 3680 系列喷墨打印机更换搓纸轮解决不进纸教程...
  5. 三角函数公式【转载】
  6. 物联网与人工智能之间的区别与联系
  7. RMAN冷备份异机还原
  8. C#调用Qpdf的界面+拖拽pdf文件到窗口+解除pdf权限密码+另存为
  9. Open Distro 初探
  10. android 时区表以及设置系统时区
  11. linux下下载fnl数据,python处理FNL数据的grib文件和nc文件(纬度存储的问题)
  12. qq公众号消息是发送到自己服务器,qq公众号屏蔽后还发消息 qq消息被屏蔽了怎么办...
  13. 查看修改qcow2文件
  14. python通信信号处理_python学习笔记——信号模块signal(示例代码)
  15. DNS --域名系统
  16. PageRank算法与特征向量和特征值(eigenvector和eigenvalue)
  17. 黑客帝国代码雨怎么弄?(最全,最简单,看完就会)
  18. 【手撕算法】FMM图像修复算法C++实现
  19. 【数据库基础】正则化(Normalization)P2:BCNF,MVD,4NF
  20. 一步步学习微软InfoPath2010和SP2010--第四章节--处理SP列表表单(4)--已计算值域...

热门文章

  1. 科大讯飞机试题—修改成绩
  2. 饥荒:在制做mod之前
  3. 为什么大厂都在抢应届生,应届生比老员工更吃香?
  4. Learning to Rank 的实践
  5. GRE写作常用词汇及短语
  6. 无锡农商行王宗:敏态转型,实现科技引领业务的华丽转身
  7. 手撕-------BaseDao
  8. MLX90640开发笔记(八)扩展知识-红外成像中的辐射率、灵敏度、精度、探测距离
  9. [附源码]PHP计算机毕业设计主机游戏商店网站(程序+LW)
  10. yii的comand模式使用composer的问题