json
1.什么是json
json: javascript object notation(javascript对象符号)
其是我们之前学过js的“字面量对象”
其是一种数据交换格式(之前的xml也是数据交换格式)。
之前用户网站需要获得天气信息,通常会把天气预报官网首页的全部信息都给请求回来,但是只是在里边获得很少的天气信息,这样做对带宽、天气官网的服务器、用户等待时间的消耗比较严重。
这个事件做优化处理:天气预报网站服务器把天气信息做成一个数据接口提供出来,好处是用户网站每次请求天气信息的带宽变小、请求速度加快,天气预报网站服务器的负载得到控制。
为了各种语言(java/php/.net/javascript)的网站用户方便使用该数据接口,其接口的数据格式最好是大家都可以识别的,因此json/xml就被应用上了。
json的生成和处理要比xml更加方便,因此在许多领域json正逐步取代xml的使用。
数据接口的信息格式是json:
2. json的使用
2.1 javascript里边json体现
json在javascript里边就是字面量对象
var obj = {名称:值,名称:值,名称:function(){}}
2.2 通过php生成json信息
json_encode(数组/对象)------------>生成json信息
json_encode(关联数组)---->json对象
json_encode(索引数组)---->js数组
json_encode(索引关联数组)---->json对象
json_encode(对象)---->json对象
在php中生成json信息:
(json信息在php中的数据类型是字符串)
2.3 php处理json信息
json_decode(json信息,boolean); 反编码json信息
对json字符串信息进行反编码,变为当前语言可以识别的信息。
json_decode(json字符串,true)—>array
json_decode(json字符串,[false])—>object
php中反编码处理json字符串信息:
2.4 javascript接收处理json信息
ajax获得接口信息,javascript本身处理json信息
通过eval()把接收的json字符串变成真实的对象信息
3.json改造ajax无刷新分页
ajax的每次请求都要从服务器获得三部分信息,对 带宽、服务器资源、用户等待时间 等资源都要占据三份,我们要做优化:把不发生变化的css样式、html标签 放到客户端手动生成,从而减轻服务器端的工作、减轻带宽浪费。
此时服务器端数据可以通过json格式传递回来(之前是html标签格式)
在服务器端通过$info的二维数组把全部数据给组织起来并生成json信息:
在分页index.html页面把”html标签”和获得”数据”做结合: