JSON必知必会笔记

JSON

1.JSON是一种数据交换格式,
2.JSON的名称应该始终被双引号包裹,名称不加双引号或使用单引号是一种js对象的表示方法。
3.JSON的媒体类型是application/json.
4.JSON中的数据类型包括:

对象(用{}表示)
数组(用[]表示)
字符串("xxxx")
数字(不加双引号)
布尔值(true/false,必须使用小写形式表示,不加引号)
null(null,必须使用小写形式表示,不加引号)。

5.JSON中字符串的转义包括:
"---->\"  
\---->\\  
\/---->\\/(正斜线)  
\b---->\\b(退格符)  
\f---->\\f(换页符)  
\t---->\\t(制表符)  
\n---->\\n(换行符)  
\r---->\\r(回车符)  
\u263A---->\\u263A(十六进制字符)  
6.JSON schema

可以使用SON schema进行数据值域/格式等验证,格式为:

{
	"$schema":"http://json-schema.org/draft-04/schema#",
	"title":"Cat"
}
7.使用JSON常见的安全问题是:跨站请求伪造和跨站脚本攻击。

顶层JSON数组,可能导致CSRF(cross-site request forgery)跨站请求伪造,顶级数组是合法的js脚本。

8.序列化

JSON.parse()可以将字符串反序列化为对象。
JSON.stringify()可以将对象序列化为数组。
jQuery.parseJSON()函数类似parse,它会先尝试使用JSON.parse(),如果浏览器不支持会使用类似eval()的new Function()实现。同时它会对一些不合法的字符进行检验,发现有注入的威胁,抛出错误。

9.ajax中的典型用法:
    $.ajax({
        url:  "/service/resource/dict/getDictList",
        type: "get",
        //contentType : 'application/json',
        //dataType:"json",
        async: false,
        data: {"dictCode":"RESOURCE_TYPE"},
        success: function(ret) {
        	if(ret.success=='1'){
        		var data=ret.data;
        	}else{
        		alert("获取资源类型字典失败:"+ret.msg);
        	}
        }
    });
    $.ajax({
        type: "post",
        dataType: "json",
        contentType:"application/json",
        async: false,
        url: url,
        data: JSON.stringify({"checkTaskId":checkTaskId}),
        error: function () {
            alert("提示", "查询任务id失败!");
        },
        success: function (ret) {
            result = ret["data"];
        }
    });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值