json学习
来源:互联网 发布:软件猎手怎么下载 编辑:程序博客网 时间:2024/05/18 01:29
Json值:
数组在方括号内:[ ]
对象在花括号内:{ }
{
"employees": [
{ "firstName":"John" ,"lastName":"Doe" },
{ "firstName":"Anna" ,"lastName":"Smith" },
{ "firstName":"Peter" ,"lastName":"Jones" }
]
}
$strr='"1j3p";
“"1j3p"”
$a=array(1,2,3,4)
“[1,2,3,4]”
$a=array(0=>1,1=>2,2=>3)
"{"0":1,"1":2,"2":3}"
$c=new myc();
"{"str":"2j3" }"
以下json写法都是错的,你能看出错在哪里吗?
$bad_json = "{ 'bar': 'baz' }"; key和value要用双引号,不能使用但引号
$bad_json = '{ bar: "baz" }'; key必须使用双引号
$bad_json = '{ "bar": "baz", }'; 不能出现,
在线检测:
http://www.bejson.com/
php中往数据库中存数据(便于存储和传输):json形式或者序列化(serialize() 把变量和它们的值编码成文本形式
unserialize() 恢复原先变量)
string json_encode(mixed $a) 返回json形式的字符串,失败时false
mixed json_decode(string $str[,assoc]) string $str为json形式的字符串,其余其他类型则返回null;assoc当该参数为TRUE
时,将返回 array 而非object 。
由于json只接受utf-8编码的字符,所以json_encode()的参数必须是utf-8编码,否则会得到空字符或者null。当中文使用GB2312编码,或者外文使用ISO-8859-1编码的时候,这一点要特别注意。
json语法:
参考:http://www.ruanyifeng.com/blog/2011/01/json_in_php.html
注意:
1 由于javascript不支持关联数组,所以json_encode()只将索引数组(indexed array)转为数组格式,而将关联数组(associative array)转为对象格式。
比如,现在有一个索引数组
$arr = Array('one', 'two', 'three');
echo json_encode($arr);
结果为:
["one","two","three"]
如果将它改为关联数组:
$arr = Array('1'=>'one', '2'=>'two', '3'=>'three');
echo json_encode($arr);
结果就变了:
{"1":"one","2":"two","3":"three"}
注意,数据格式从"[]"(数组)变成了"{}"(对象)。
如果你需要将"索引数组"强制转化成"对象",可以这样写
json_encode( (object)$arr );
或者
json_encode ( $arr, JSON_FORCE_OBJECT );
2 对于对象,json_encode后除了公开变量(public),其他东西(常量、私有变量、方法等等)都遗失了。
3 json_decode()总是返回一个PHP对象 ,如果想要强制生成PHP关联数组,json_decode()需要加一个参数true:
4 json只能用来表示对象(object)和数组(array),如果对一个字符串或数值使用json_decode(),将会返回null。
var_dump(json_decode("Hello World")); //null
- json学习-什么是json
- 【json】慕课网json学习
- JSON 学习
- JSON学习
- JSON学习
- JSON学习
- JSON学习
- JSON学习
- json 学习
- JSON学习
- JSON学习
- json学习
- json学习
- JSON学习
- json学习
- 学习JSON
- JSON学习
- json学习
- 消息队列设计精要
- Android 使用通知(Notification)
- Git 初次使用(2)
- 最大似然估计学习
- 机器学习:XGBoost
- json学习
- 如何计算银行承兑汇票贴现利息
- String数据类型转换成long、int、double、float、boolean、char等七种数据类型
- Android Studio使用Button等控件的英文内容字符串默认大写
- disconf-web安装教程
- final、 finally、 finalize
- ZBrush创建多边形组的教程
- 自定义Camera
- iOS 之 离屏渲染的研究