≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 网络编程 > PHP笔记

PHP应用JSON的简单示例

人气:328 时间:2020-12-01

这篇文章主要为大家详细介绍了PHP应用JSON的简单示例,具有一定的参考价值,可以用来参考一下。

感兴趣的小伙伴,下面一起跟随四海网的小玲来看看吧!

php json_decode返回数据js的处理

php json_decode后,返回到前台的数据如:encode_str =》{"green":10,"size":5,"strock":12}
则js通过 eval("obj = " + encode_str + ";") ;
便可将json数据实例化为对象, 直接obj.green即可得到数据。

Javascript 中可以用{}表示一个对象,用[]表示一个数组,如:

var obj={"a":"v","b":"x"};//这表示变量obj是一个对象,它有两个属性:a和b,属性值分别是:v和x.
var arr=["v","x"];//这表示变量arr是一个数组,它有两一元素,索引分别是0和1,值分别是:v和x.
JSON其实就是这两种格式混合在一起来表示数据的逻辑结构的格式,其实JSON就是Javascript中对象和数组的混合体

PHP提供的专门的函数来生成和解析JSON格式的数据,PHP解析出来的数据根原先Javascript的数据的意义一样,即Javascript对象解析成PHP对象,Javascript数组解析成PHP数组,PHP应用JSON的函数是:json_encode($PHPcode);
PHP解析JSON的函数是:json_decode($JSONcode);

所以JSON的形式有多种,不同的形式在PHP解释出来后的形式也是不同的。

代码如下:


//形式1:完全是对象的形式,这种形式的数据在Javascript
中又叫相关数组,与一般数组不同的是,
它可以通过字符串作索引来访问(用“[]”或“.”
来表示层级)   
$json='{"item1":{"item11":{"n":"chenling",
"m":"llll"},"sex":"男","age":"25"},"item2":
{"item21":"ling","sex":"女","age":"24"}}';   
$J=json_decode($json);   
print_r($J); 

将输出:

代码如下:


stdClass Object   
(   
[item1] => stdClass Object   
(   
[item11] => stdClass Object   
(   
[n] => chenling   
[m] => llll   
)   
[sex] => 男   
[age] => 25   
)   
[item2] => stdClass Object   
(   
[item21] => ling   
[sex] => 女   
[age] => 24   
)   
)

比如说我要取得了值是chenling的那个属性,则应该这样访问:
$J->item1->item11->n;//这将取得属性n的值:chenling
其实这种访问形式跟访问普通的对象属性差不多,也相当于访问一个3维数组。

代码如下:


//形式2:对象和数组混合   
$json='{"item1":[{"name":[{"chen":
"chenling","ling":"chenli"}],"sex":
"男","age":"25"},{"name":"sun","sex":
"女","age":"24"}]}';   
$J=json_decode($json);   
print_r($J);   
将输出:   
stdClass Object   
(   
[item1] => Array   
(   
[0] => stdClass Object   
(   
[name] => Array   
(   
[0] => stdClass Object   
(   
[chen] => chenling   
[ling] => chenli   
)   
)   
[sex] => 男   
[age] => 25   
)   
[1] => stdClass Object   
(   
[name] => sun   
[sex] => 女   
[age] => 24   
)   
)   
) 

比如说我要取得了值是chenling的那个元素,则应该这样访问:
$J->item1[0]->name[0]->chen;//这将取得元素chen的值:chenling
其实这种PHP应用JSON形式结合了对象和数组的访问方式,也相当于访问一个5维数组。

代码如下:


//形式3:完全数组形式   
$json='[["item1","item11"],[
"n","chenling"],["m","llll"]]';   
$J=json_decode($json);   
print_r($J);   
将输出:   
Array   
(   
[0] => Array   
(   
[0] => item1   
[1] => item11   
)   
[1] => Array   
(   
[0] => n   
[1] => chenling   
)   
[2] => Array   
(   
[0] => m   
[1] => llll   
)   
) 

比如说我要取得了值是chenling的那个元素,则应该这样访问:

 

$J[0][1];//这将取得元素值chenling的那个元素

但是用这种方式有一个缺点,就是无法用字符串作为索引,只能用数字,用完全对象的形式可以解决这个问题,其实这种访问形式就是数组的访问方式,相当于访问一个2维数组。

PHP应用JSON小结:

从上面的PHP应用JSON例子可以看出JSON有点类似XML,也可以在PHP和Javascript之间传递带结构的数据,使用起来很方便。
需要注意的是每个属性和属性值都由引号""包括起来。

本文来自:http://www.q1010.com/173/15943-0.html

注:关于PHP应用JSON的简单示例的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:

您可能感兴趣的文章

上一篇:PHP利用破解.net程序(dll文件)编译和反编译的简单示例
下一篇:PHP输出时间差函数示例
热门文章
  • PHP 写入WRITE编码为UTF8的文件示例
  • PHP 中文字符串截取函数示例:支持gb2312,gbk,big
  • PHP 简单留言板的制作示例
  • 解决Fatal error: Call to undefined function mb_convert_encoding() in错误问题
  • PHP语言基础(标记、注释、变量、数组、常量、函数)示例
  • php 生成迅雷链接的简单示例
  • php 获取短网址的实现方法
  • PHP 通用分页类的简单示例
  • PHP 使用文件方式导入导出整个MYSQL数据库的实现方法
  • php 获取MYSQL错误的简单示例
  • 最新文章
    • 解决PHP使用redis实现统计缓存MySQL压力的问题
    • php 简单的上传进度条的简单示例
    • php 给html中引用的js和css路径打上版本号的实现方法
    • php 实现计算年龄精准到年月日的实例
    • php+ajax无刷新分页的简单示例
    • 解决php+ajax无刷新上传图片的问题
    • 解决PHP生成HTML静态页面的问题
    • 解决PHP使用uniqid函数生成唯一ID的问题
    • 解决PHP防刷票的一些问题
    • 微信access_token的获取开发的实现方法

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。