博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JSON介绍
阅读量:7038 次
发布时间:2019-06-28

本文共 1743 字,大约阅读时间需要 5 分钟。

JSON定义

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序。这个字符串看起来有点儿古怪,但是JavaScript很容易解释它,而且 JSON 可以表示比"名称 / 值对"更复杂的结构。

JSON 语法是 JavaScript 对象表示法语法的子集。

数据在名称/值对中、数据由逗号分隔、花括号保存对象、方括号保存数组
JSON 值可以是:数字(整数或浮点数)、字符串(在双引号中)、逻辑值(true 或 false)、数组(在方括号中)、对象(在花括号中)、null
例如:

{    "name":"小强",    "age":16,    "msg":["a","b"],    "regex": "^http://.*"};

JSON.parse是将json格式的字符串转换成json对象。

var str ='{"name":"小强","age":16,"msg":["a","b"],"regex": "^http://.*"}';var json = JSON.parse(str);console.log("name:" + json.name);console.log("msgLen:" + json.msg.length);// 结果// name:小强// msgLen:2

备注:单引号写在{}外,每个属性名都必须用双引号。

JSON.stringify是将json对象转换成json格式的字符串。

var json = {"name":"小强","age":16,"msg":["a","b"],"regex": "^http://.*"};var str = JSON.stringify(json);console.log("json:" + str);console.log("jsonLen:" + str.length);// 结果// json:{"name":"小强","age":16,"msg":["a","b"],"regex":"^http://.*"}// jsonLen:60

备注:JSON.parse和JSON.stringify支持IE8及其以上版本
将JSON转换成数组

function jsonToArray(obj){    var r = {key:[],value:[]};    for(var k in obj){        if(!obj.hasOwnProperty(k)){            continue;        }        r.key.push(k);        r.value.push(obj[k]);    }    return r;}var json = {"name":"小强","age":16,"msg":["a","b"],"regex": "^http://.*"};var arrJson = jsonToArray(json);console.log("regexKEY:" + arrJson.key[3]);console.log("regexVALUE:" + arrJson.value[3]);console.log("KEYLen:" + arrJson.key.length);// 结果// regexKEY: regex// regexVALUE: ^http://.*// KEYLen:4

 

关于IE低版本可以使用插件

json官网:题外话:IE低版本的浏览器使用率越来越少,建议兼容IE低本的脚本单独提出来,将兼容性代码抽离出来。用IE注释来判断是否引入js插件,js插件最好与标准名称一致,如低版本中引入JSON这个变量,也有个方法JSON.parse等等。可以改善以前的兼容性代码处理方式,将IE那部分的都转成W3C标准事件处理函数,单独为IE引入。个人见解。参考文档:
1、
2、

转载地址:http://honal.baihongyu.com/

你可能感兴趣的文章
SDWebImage在xcode6.1的iOS8环境下报错
查看>>
Iptables—包过滤(网络层)防火墙
查看>>
大龄程序员,关于编程与管理的思考
查看>>
前端进阶 -js数据结构类型扩展:immutable-js(10)
查看>>
centos5.10NFS服务的配置
查看>>
有关二分查找的边界思考
查看>>
phpvirtualbox访问Ubuntu虚拟机134-配置详情
查看>>
Java 单元测试利器之 Junit
查看>>
我的友情链接
查看>>
媒体关注OSV智能桌面虚拟化平台
查看>>
安装VMware Workstation提示the msi failed的解决办法
查看>>
MongoDB安装配置
查看>>
使程序在Linux下后台运行
查看>>
webpack构建h5plus多页面移动app
查看>>
Varnish缓存更新策略调试过程
查看>>
unix bsd linux gun 粗略解释
查看>>
shell中特殊符号的用法
查看>>
我的友情链接
查看>>
上传贴图
查看>>
Spring Cloud各组件重试总结
查看>>