《Json 必知必会》——读书笔记

一、 JSON概述:
1、JSON概念:
(1)一种数据交换格式
(2)独立于编程语言
(3)基于js对象字面量表示法(Java script object notation)
(4)表达数据方式对通用的编程概念都很友好
2、注:
数据交换格式:是一种不同平台间传递数据的文本格式
表示法:用于表示如数字或单词等数据的字符系统
可移植性:一对双方系统都兼容的方式在平台间传递信息

二、 JSON语法
1. JSON使用格式:
{“name”:”value”},{“name”:”value”}…….
2. name格式:必须带双引号,除值是数字外
3. 注意:尽可能避免使用空格及特殊字符为获得更大可移植性(除字母和数字)
三、 JSON数据类型:(值)
1. 字符串:value=一串字母 EG : {“name”:”judy”}
2. 数字:整数(22);小数(22.22);负数(-12.2);指数(5.122e+24);EG : {“number”:”12306”}
3. 布尔值:true/false(必须小写)EG:
4. Null:表示没有值,空值,null必须小写
5. 数组:{“name”:[“value”,”value”,”value”…]}
6. 对象:{“name”:[ {“name”:”value”},{“name”:”value”}]}
7. 转义字符:
\/(反斜线)
\(正斜线)
\n(换行符)
\r(回车符)
\b(退格符)
\f(换页符)
\u(后面跟十六进制字符)
\”(双引号)
\t(制表符)
四、 Json Schema (Json 模式):数据交换中的一种虚拟“合同”
1、 JSON验证器负责验证语法错误;Json Schema负责提供一致性校验
2、 Json Schema是数据接收方的第一道防线,也是数据发送方节约时间保证数据正确性的好工具
3、 Json Schema可以解决下列有关一致性验证问题:
(1) 可以具体规定一个值是数据,字符串等类型值数据类型是否正确
(2) 可以具体规定哪些数据是需要的哪些是不需要是否包含所需要的数据
(3) 可以指定范围最小值和最大值,值的形式是不是我需要的

五、 JSON中的安全问题:
1. 服务器:当网页或资源被请求时,在服务器上执行的一系列操作;服务器为互联网浏览器提供其处理和/或加载的响应
2. 客服端:当浏览器所请求的页面加载完毕时执行的一系列操作。通常指HTML,css和Javascript
3. 跨站请求伪造(CSRF):指利用站点对用户浏览器的信任进行攻击
4. 顶层JSON数组:存在于JSON名称-值对之外的位于文档最顶层的JSON数组
5. 注入攻击:依赖于将数据注入到web应用程序以恶毒脚本来对站点进行一种注入攻击json跨站脚本攻击;通过截取或将站点中所使用的第三方代码更换为恶意脚本来对站点进行的一种注入攻击
6. 在定位JSON安全问题记住3件事:
(1) 不要使用顶级数组,顶级数组是合法的javascript脚本,他们可以用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值