json总结
来源:互联网 发布:淘宝上的衣服能买吗 编辑:程序博客网 时间:2024/06/14 06:11
所谓JSON(JavaScript Object Notation, JS 对象标记) ,它是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据;类似 XML,但是JSON 比 XML 更小、更快,更易解析。
/************************************************************************* * File Name: json.c * Author: The answer * Function: Other * Mail: 2412799512@qq.com * Created Time: 2017年07月11日 星期二 14时17分35秒 ************************************************************************/本文总结自《JSON必知必会》JSON(JavaScript Object Notation)的全称是:javascript对象表示法{ "brand":"adidas", "color":"red", "price":1222, "size":9}# 名称--值对 /键值--对 等等.....json中的值对可以是:strng字符串、数字、null、数组或对象;Json中”名称“始终都是在左边,而值对是在右边,中间用冒号:来分隔名称和键值;---------------------------------------------(2) 名称:"animal" or "the animal"都是合法的,而且中间还可以使用单引号: eg: "this's animal":"dog" --->但是不建议这么的去做,因为这些特殊的字符会影响到 json对象在系统之间的可移植性;为了提高json数据在各平台间的可移植性,最好不要使用 空格和特殊字符; (3) 注意,名称是必须要用双引号,而值不一定,因为json中的值可以有很多种,比如 数字、数组、null、bool、而若用的是字符串,则必须用双引号; (4) 使用{}来表示使之成为一个对象,json中若有多个"名称--值对"的话,应该用","来 将其进行分隔; (5) json错误验证和校验工具: JSON Formatter & Validator,带高亮语法错误提示; JSON Editor Online; JSONLint; (6) 专业术语和概念 字面量:指的是字面意思与其想要表达的意思是完全一致的值。 (7) 计算机中的数据类型:原始数据类型(基础数据类型)和复合数据类型(派生数据类型) (8) json中的数据类型:对象,字符串,数字,数组,null和bool(布尔值) (9) json中的数字可以是:整数、小数、负数、指数 --------------------------------------------- (1) json中对象是可以嵌套使用的,eg: { "Person":{ "name":"lixiaogang", "heigh": 176, "head":{ "hair":{ "color":"light blood", "length":"short", "style":"A-line" }, "eyes":"black" } } }(2) json中的字符串类型可以是由任意的unicode字符构成;(3) json中有时候"值对"有时候不得不包含着一对"双引号",如:{ "promo":"Say "the dog is best" " //这时候会报错,编译器读到the前面的双引号就会 //认为Say这个值对已经结束,而后面的是非法,解决方法是使用"\"转业符号; "promo":"Say \"the dog is best\" "}(4) json中的布尔类型:仅使用小写的字面值 false or true(5) json中的null类型:若想表达某样东西"无",请使用null并且小写,不要使用0(6) json中的数组类型:{ "appleCarton":[ "apple", //一个数组为每一个"位置"都赋予了一个索引,下标0 "apple", "apple", //若吃掉这个apple,为null,但是为0也不会报错,但不建议这么做 "apple", "apple", "apple", "apple", "apple", "apple", "apple" ]}数组里面还可以再嵌套数组;如:{ "test":[ [ true, true, true, true ], [ true, false, true, false, ] ]}-------------------------------------------------(1) json中的安全问题 跨站请求伪造 CSRF比如:[ { "username":"user" }, { "password":"passwd" --->容易被攻击--> 黑客绕过<script>标签 }]解决方案:将数组放到一个对象之中,使之成为一个非法的javascript, 这样就不会被<script>标签加载I.步{ "info":[ { "username":"user" }, { "password":"passwd" } ]}II.步 仅使用POST请求获取数据,禁止使用GET;POST and GET是HTTP提供的用于与服务器交换 数据的两种方式;GET用于"请求数据,得到相应";而POST用于"提交数据,得到相应"; 结论:避免资源泄露、窃取: 1.不要在JSON中使用顶级数组 2.不要贪图使用GET来代替POST的便利(2)注入攻击 注入攻击包含许多种形式与格式;它们都是利用系统本身的漏洞来实现的;而CSRF则是利用 信任机制进行的攻击。注入攻击则主要通过向网站注入恶意代码来实现;(3) 跨站脚步攻击 XSS是"注入攻击的一种";---------有关具体的攻击的详细信息和过程,需结合javascript来理解----------
阅读全文
0 0
- json总结
- json总结
- JSON总结
- JSON总结
- json 总结
- json总结
- JSON 总结
- json总结
- json 总结
- json总结
- json总结
- json总结
- JSON总结
- JSON总结
- JSON总结
- JSON总结
- json总结
- 总结json
- 用MyBatis实现数据的增删改查
- UVa 10288(Coupons) 数学期望(概率+递推) Java
- 加载进度条
- jzoj 3518_进化序列_模拟
- stl-vector
- json总结
- order by实现数据排序
- 蒙层
- Android_广播大全
- LA 3644 X-Plosives [并查集]
- 四、基于Cortex-A8和ZigBee技术的智能家居监控系统的设计与实现
- 暑假写题第二天
- python简单的数据处理(文件)
- CRC校验