JSON基础
来源:互联网 发布:海量数据下载 编辑:程序博客网 时间:2024/06/01 08:31
JSON: JavaScript Object Notation(JavaScript 对象表示法)
JSON 是存储和交换文本信息的语法。类似 XML。
JSON 比 XML 更小、更快,更易解析。
java语言是一种强类型的语言,必须定义类型,然后生成实例,而js却不是,虽然它也是面向对象的,但是它并没有先定义类这一种概念(但是js也有类型),它是基于原型的一种模式,和java完全不同。很显然,二者的原理,机制,语法并不能兼容。二者产生的对象并不能被对方解读。
再来看网络传输,通常就是http/tcp协议喽,使用的其实是请求-响应,再说白了即使字符串,不论后台传来的是什么类型的数据,也不论前台传回的什么类型的数据,网络层统统当作字符串处理,它也没有办法来解析类型啊!
说到这里,前后台传数据也就只能用字符串了,那也就意味着它们各自都要完成一个转换过程,把要发送的转换成字符串,把要收到的字符串解析成自己的对象。因为传输的字符串会涉及前后台双方的解析和处理,所以双方都必须认识或者知道字符串该怎么转,也就是说,最好能有一种通用的规则来编辑,转换字符串,这个标准或者协议就是JSON,JSON就是用来交换数据的,是一种string,一种独立于平台的数据格式。
这样一来,前台就需要把自己的数据类型转成JSON,然后发给后台,后台在用JSON来解析数据,转换成自己的类型。后台传前台一样。那么,怎么把自己的数据转成JSON呢?
1,如果知道JSON什么格式,完全可以自己拼写string,但是这样不能避免完全正确,而且可能会有安全隐患,那么就用第三方提供的库。
2,在js中,可以使用JSON.stringify()函数,把一个js中的对象转成json的string,也可以使用JSON.parse()函数,把一个json的string转成一个js里的对象。
3,在java中,有JSONObject和JSONArray两个对象,转string就用它们的toString()函数,转对象,就用toBean()和toArray()函数。需要注意的是JSONObject必须是string的键。
最后来看一下异步函数,常用的就是$.post()。往后台传参数的时候,用的是一个键值对,也就是该函数的第二个参数,里面的值按照之前的说法,必须是string,那么我这里js定义了一个对象obj,要把它传到后台,必须先用stringify函数处理才行。
当从后台取数据时,最后一个参数type很重要,我们知道最开始的时候,js接到的参数一定是一个string(通过网络传来的),$.post的最后一个参数就是决定js接下来怎么处理收到的参数,是当作一个string呢还是一个对象呢,取决于type的值,如果是对象,那么就设置为“json”,它会按照json格式来转换对象,不填的话默认是string,把它当作字符串来处理。设置text也当做字符串处理。
- JSON 基础
- JSON 基础
- JSON基础
- Json基础
- JSON基础
- json 基础
- json 基础
- JSON基础
- JSON基础
- JSON 基础
- json 基础
- JSON基础
- JSON基础
- JSON 基础
- json 基础
- JSON 基础
- json基础
- json基础
- CodeForce896 B. Ithea Plays With Chtholly
- 475. Heaters
- javascript连接SQL Server 2014进行增删改查(适用于IE浏览器)
- 一文览尽2017年下半年机器人行业融资大事件
- 编程语言拟人化(1):Java、C++、Python、Ruby、PHP、C#、JS的区别
- JSON基础
- Centos7修改系统语言为中文
- 第九周项目二二叉数遍历的递归算法
- 171216 逆向-.Net的保护和对抗(2)
- 07-图4 哈利·波特的考试
- puppet的八大资源定义
- 【mysql哪些事儿】distinct 和 group by用法总结
- KMP算法介绍
- 最新版2017安装教程