学习JSON类时,你可能会遇到各种样的问题,这里将介绍关于它的解决方法,在这里拿出来和大家分享一下,现在经常用到PHP和JS进行数据交互,使用最多的一般就是JSON类,我来用自己的话说说两类语言中的数据交互吧。#t#
在PHP中,存在方法JSON_encode JSON_decode其中前者多用于将PHP的数组ARRAY转化为JSON格式:{"a":"a1","b":"b1"}后者则用于将JSON格式转化为PHP的对象,并可以通过$obj->a来调用(不理解别着急,一会看看下边的例子)
自己写的一个实例,可以copy下去自己试试看:
<?php
$string=array(
"num1"=>"one",
"num2"=>"two",
"num3"=>array(
"num31"=>"three_one",
"num32"=>"three_two",
)
);
print_r($string);
echo"<br/>";
$json=json_encode($string);
echo$json;
$fjson=json_decode($json);
echo"<br/>";
print_r($fjson);
echo"<br/>";
echo$fjson->num3->num31;
echo"<br/>";
$arr=(array)$fjson;
print_r($arr);
echo"<br/>";
$arr2=(array)$fjson->num3;
print_r($arr2);
echo"<script>alert($json.num3.num31)</script>";
?>
输出的结果:
Array([num1]=>one[num2]=>two[num3]=>Array([num31]=>three_one[num32]=>three_two))
{"num1":"one","num2":"two","num3":{"num31":"three_one","num32":"three_two"}}
stdClassObject([num1]=>one[num2]=>two[num3]=>stdClassObject([num31]=>three_one[num32]=>three_two))
three_one
Array([num1]=>one[num2]=>two[num3]=>stdClassObject([num31]=>three_one[num32]=>three_two))
Array([num31]=>three_one[num32]=>three_two)
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
以上就是对于JSON类的介绍说明,欢迎大家学习切磋。