JSON与PHP的操作

来源:互联网 发布:cf彩虹哥淘宝 编辑:程序博客网 时间:2024/05/01 07:55

不得不说。JSON确实是轻量级的一种数据交换格式。简单,暴力,无脑,且在一定程度上优于XML,言归正传,来理解下JSON

JSON 语法是 JavaScript 对象表示语法的子集。
数据在名称/值对中
数据由逗号分隔
花括号保存对象
方括号保存数组

数组类型

$arr = array(1,2,3,4);
print_r(json_encode($arr));

[1,2,3,4]

数组是不带字符下标索引的,解析成JSON后是一个带方括号的数组,元素以逗号隔开

那如果是带下标的索引的呢,再来看这么一组例子。

$arr = '{"name":"xeay123","address":"fujian"}';

print_r(json_decode($arr));

stdClass Object ( [name] => xeay123 [address] => fujian )

确实是个对象。那么针对这个PHP对象,我们可以采取下列两种方式访问

$arr = '{"name":"xeay123","address":"fujian"}';
$obj=json_decode($arr);
print $obj->name;

既然是对象,那么可以对象访问成员的方式来处理。

第二种方式如下:先将对象转化成数组形式,PHP可真是好东西,弱类型就该这么用。你定义它是什么它就是什么。

$arr = '{"name":"xeay123","address":"fujian"}';
$obj=(array)json_decode($arr);

print $obj['name'];


关于应用

1.JSON的场景。AJAX取值得话,无非就返回一个JSON对象。所以我们可以将结果集转成JSON,等待前端来取

2.序列化问题。我们可以将一类数据序列化成一个字符串存在数据库的一个字段,或者是在NOSQL的键中。但是,如果不是为了ajax,序列化推荐使用PHP的serialize() unserialize()


0 0
原创粉丝点击