服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服务器之家 - 编程语言 - PHP教程 - PHP JSON格式数据交互实例代码详解

PHP JSON格式数据交互实例代码详解

2019-11-15 14:21php教程网 PHP教程

此前我写了不少在PHP网站开发中应用XML进行数据交互的实例,这两天通过PHP解析JSON并进行交互的实例学习和了解了JSON在PHP中的应用,感觉非常方便。

在PHP中解析JSON主要用到json_encode和json_decode两个PHP JSON函数,比PHP解析XML方便很多,下面详细介绍下PHP JSON的使用。
JSON基础介绍

  JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。

  JSON主要有两种结构:

  “名称/值”对的集合,在PHP中可以理解为关联数组 (associative array)。

  值的有序列表(An ordered list of values)。在PHP中可以理解为普通数组(array)。

  对象是一个无序的“‘名称/值'对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值' 对”之间使用“,”(逗号)分隔。

  数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。

  我目前对JSON的理解更偏向于数组,类似于PHP中的关联数组,你可以将PHP数组转换为JSON格式。

  更多JSON的介绍请参考JSON官网和IBM关于JSON的介绍

  PHP JSON解析实例

  PHP5.2开始已经将JSON作为PHP扩展的一部分,所以并不需要另外安装JSON。另外为了保证下面的PHP JSON实例不出现中文乱码,请保证你的编码格式为UTF8。

  JSON是Javascript的一部分,首先我们看下Javascript中如何定义JSON

复制代码代码如下:


var json_obj = {'WebName':'PHP网站开发教程网'}; 
alert(json_obj.WebName); 
var json_arr =[{'WebName':'PHP网站开发教程网','WebSite':'//www.zzvips.com'},{'ArtTitle':'PHP JSON实例讲解'}] 
alert(json_arr[1].ArtTitle); 
var php_json = [['PHP网站开发教程网','//www.zzvips.com'],['文章标题','PHP JSON实例讲解']]; 
alert(php_json[1][0]); 


在这段JSON实例代码中我构建了所有的JSON形式, 
第1行,定义了JSON以对象形式存在 
第4行,定义了JSON以数组形式存在,嵌套了JSON对象,所以有点类似于PHP的关联数组,其实仍然是对象。 
第7行,定了JSON以普通数组形式存在。 
注意:由于Javascript是区分大小写的,所以访问JSON关联数组对象时注意key的大小写问题。 
  PHP与JSON格式数据交互时,第一步需要将PHP数组转换为JSON格式的数据,可使用PHP5自带的json_encode函数,当PHP解析传递过来的JSON格式数据时需要使用json_decode函数进行解析转换为PHP数组,PHP转换并解析JSON数据的实例代码如下 

复制代码代码如下:


<?php 
$json_arr = array('WebName'=>'PHP网站开发教程网','WebSite'=>'//www.zzvips.com'); 
$php_json = json_encode($json_arr); 
echo $php_json; 
$php_json = json_decode($php_json); 
print_r($php_json); 
?> 

 

 

说明:这里通过PHP定义了关联数组,然后通过json_encode转换为JSON格式的数据,通过echo语句可以看到转换后的JSON对象,通过PHP JSON解析函数json_decode可以将JSON格式的数据解析为PHP的关联数组。如果编码不正确,JSON中文会出现乱码。如果你使用Editplus调试PHP,请注意保存文件时编码将ANSI改为UTF8。

最后我们来看下完整的PHP JSON交互实例

复制代码代码如下:


<?php 
$json_arr = array('WebName'=>'PHP网站开发教程网','WebSite'=>'//www.zzvips.com'); 
$php_json = json_encode($json_arr); 
?> 
<script type="text/javascript"> 
var php_json = <?=$php_json?>; 
</script> 
<script type="text/javascript"> 
function php_json_dis(php_json) 

alert(php_json.WebName); 
alert(php_json.WebSite); 

php_json_dis(php_json); 
</script> 


至此,PHP通过json_encode和json_decode函数对JSON格式数据进行转换和解析的实例就介绍完了。

延伸 · 阅读

精彩推荐
  • PHP教程php heredoc和phpwind的模板技术使用方法小结

    php heredoc和phpwind的模板技术使用方法小结

    Heredoc技术,在正规的PHP文档中和技术书籍中一般没有详细讲述,只是提到了这是一种Perl风格的字符串输出技术。但是现在的一些论坛程序,和部分文章系...

    php技术网3992019-10-27
  • PHP教程PHP赋值的内部是如何跑的详解

    PHP赋值的内部是如何跑的详解

    这篇文章主要给大家介绍了关于PHP赋值的内部是如何跑的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,...

    写PHP的老王2662019-07-03
  • PHP教程PHP hebrev()函数用法讲解

    PHP hebrev()函数用法讲解

    今天小编就为大家分享一篇关于PHP hebrev()函数用法讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看...

    php参考手册1892019-06-11
  • PHP教程PHP通过GD库实现验证码功能示例

    PHP通过GD库实现验证码功能示例

    这篇文章主要介绍了PHP通过GD库实现验证码功能,结合实例形式分析了php验证码相关图片绘制、输出操作实现技巧,需要的朋友可以参考下...

    不能吃的坚果4402019-06-10
  • PHP教程PHP异常类及异常处理操作实例详解

    PHP异常类及异常处理操作实例详解

    这篇文章主要介绍了PHP异常类及异常处理操作,结合实例形式较为详细的分析了php异常与异常处理相关操作技巧与注意事项,需要的朋友可以参考下...

    天涯海角路4062019-07-15
  • PHP教程Linux基于php-fpm模式的lamp搭建phpmyadmin的方法

    Linux基于php-fpm模式的lamp搭建phpmyadmin的方法

    这篇文章主要介绍了Linux基于php-fpm模式的lamp搭建phpmyadmin的方法,以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。...

    我姓陈_范1382019-08-30
  • PHP教程thinkphp中U方法按路由规则生成url的方法

    thinkphp中U方法按路由规则生成url的方法

    下面小编就为大家分享一篇thinkphp中U方法按路由规则生成url的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 ...

    pengmingdong2262019-10-18
  • PHP教程Laravel框架路由和控制器的绑定操作方法

    Laravel框架路由和控制器的绑定操作方法

    这篇文章主要介绍了Laravel框架路由和控制器的绑定操作方法,结合实例形式分析了Laravel框架路由与控制器绑定的操作步骤、实现方法与相关注意事项,需要的...

    编程老头3852019-09-27