学习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)
以上就是对于JSON类的介绍说明,欢迎大家学习切磋。