PHP 5.2版本之后,默认增加了一组针对数据进行JSON互转的函数:

json_encode :数据到JSON

json_decode :JSON到PHP变量的转换

本文用一个实例讨论一下PHP 的JSON数据函数在jquery中的应用。

jquery中有一个方法:$.getJSON,这个用来从服务器脚本页面取得JSON格式的数据的。

首先,建立一个名为json.php的PHP脚本:

//创建一个联合数组,这里我们尽量真实的模拟了一个从数据库中读取的记录

$a=array('name'=>'dog','sex'=>'f','par'=>array('li','wang','lian'));

$b=array('name'=>'pig','sex'=>'m','par'=>array('liv','wange','liang'));

$array = array(0=>$a,1=>$b);

//将数组转化为一个json数据串

echo json_encode($array); //by www.jbxue.com

?>

前台页面jquery代码:

$(document).ready(function(){

$.getJSON(

'json.php',

function(data){

var content="";

for(var i=0;i

content+=data[i].name;

var par="排挡:";

for(var j=0;j

par+=data[i].par[j]+"、";

}

content+=par+"
";

}

alert(content);

}

);

});

本例在循环读取数据的时候应用了js的基本流程控制for循环方法,在jquery中也提供了一个遍历方法each,底层实现也是基于for循环的。

但按由于json_encode json_decode两个函数是在PHP5.2之后才有的,早于此前的版本使用将会报一个找不到json_encode函数的错误!

优化后的代码:

/*

* 自定义my_json_encode函数

* @params array $arr 欲转json的数组

*/

function my_json_encode($arr){

if (!function_exists('json_encode')){

return json_encode($arr);

}else{

require_once 'lib/json.class.php';

$json = new Services_JSON();

return $json->encode($arr);

}

}

?>

自定义一个my_json_encode函数,当php版本为5.2之前,找不到son_encode函数时,载入json.class.php类文件。

使用my_json_encode等价于json_encode。

附:json.class.php下载地址

jquery getjson php,jquery中调用php json函数的方法分享相关推荐

  1. Js文件中调用其它Js函数的方法(转)

    2019独角兽企业重金招聘Python工程师标准>>> Js文件中调用其它Js函数的方法 在项目开发过程中,也许你会遇这样的情况.在某一Js文件中需要完成某一功能,但这一功能的大部分 ...

  2. Js文件中调用其它Js函数的方法

    2019独角兽企业重金招聘Python工程师标准>>> Js文件中调用其它Js函数的方法 在项目开发过程中,也许你会遇这样的情况.在某一Js文件中需要完成某一功能,但这一功能的大部分 ...

  3. vue怎么调用子元素的方法_vue 父组件中调用子组件函数的方法

    vue 父组件中调用子组件函数的方法 在父组件中调用子组件的方法: 1.给子组件定义一个ref属性.eg:ref="childItem" 2.在子组件的methods中声明一个函数 ...

  4. asp.net中调用javascript自定义函数的方法(包括引入JavaScript文件)总结

    通常javascript代码可以与HTML标签一起直接放在前端页面中,但如果JS代码多的话一方面不利于维护,另一方面也对搜索引擎不友好,因为页面因此而变得臃肿:所以一般有良好开发习惯的程序员都会把ja ...

  5. jQuery插件:Validation中success和submitHandler两个方法的区别

    jQuery插件:Validation中success和submitHandler两个方法的区别 http://www.mzwu.com/article.asp?id=3357 先执行onsubmit ...

  6. java 控制器 返回 json_SpringMVC中controller返回json数据的方法

    java 控制器 返回 json_SpringMVC中controller返回json数据的方法 1.方法一: 使用springmvc原生注解@ResponseBody @ResponseBody @ ...

  7. 奇淫怪巧之在Delphi中调用不申明函数

    前一阵子,研究了一段时间的Win32Asm,研究到后来发现Win32的ASM实际上还是和C版的介绍的一样.甚至还封装了一个简版的类似VCL库结构框架的32ASM结构库,不过搞着搞着就没兴趣了,也没继续 ...

  8. 在C#中调用windows API函数

    Api函数是构筑Windws应用程序的基石,每一种Windows应用程序开发工具,它提供的底层函数都间接或直接地调用了Windows API函数,同时为了实现功能扩展,一般也都提供了调用Windows ...

  9. f2py支持在fortran语言中调用其他Fortran函数或C代码或Python代码

    f2py支持在fortran语言中调用其他Fortran函数或C代码或Python代码 分类: Python Numpy_Scipy fortran MinGW_GCC_Boost f2py 2012 ...

最新文章

  1. 机器学习数据预处理之缺失值:最小值最大值填充
  2. leetcode 4. 寻找两个有序数组的中位数,c语言
  3. android 变化字体,android 字体修改
  4. 全面解析RS232、RS485、RS422、RJ45接口的区别和各自的应用
  5. python 数组赋值_LeetCode基础算法题第182篇:一维数组的运行总和
  6. python随机生成100内的10个整数_用python随机生成数字教程_如何用Python编程随机产生10个随机整数,并输出这10个整数的和�9�3...
  7. 【渝粤教育】电大中专微生物与寄生虫基础作业 题库
  8. nginx 支持php扩展,Nginx和php安装及配置五之LINUX用PHPIZE安装PHP GD扩展
  9. android adb移植到arm,android-ndk – 为arm处理器构建android adb
  10. 【day31】函数总结
  11. java流程图平行四边形_流程图图形标准含义
  12. c语言图书管理系统出现的问题,C语言图书管理系统中的问题
  13. 使用正交表高效地设计测试用例
  14. mui mysql_mui框架使用心得
  15. vant显示日期格式_使用Vant完成DatetimePicker 日期的选择器操作
  16. java 加密 —— 对称加密、非对称加密、消息摘要
  17. 这几个图片格式转换工具可以收藏
  18. 猿人时代java_猿人时代攻略
  19. 搬运--domoticz的 MQTT API接口 函数英文
  20. Python利用pptx模块三步将图片插入特定PPT模板

热门文章

  1. mysql linux安装百度经验_MySQL 安装(Windows Linux)
  2. python 将列表值赋予函数_python把空列表作为函数默认参数,可是有坑的
  3. php报错提醒,php报错问题
  4. 【高校宿舍管理系统】第十章 缺勤管理、报修管理、来访人员管理以及公告管理
  5. jquery操作select下拉框的各种方法,获取选中项的值或文本,根据指定的值或文本选中select的option项等...
  6. 爬虫基础12(框架Scrapy中间件)
  7. 使用Qt生成第一个窗口程序
  8. POJ 3259 Wormholes(bellman_ford,判断有没有负环回路)
  9. thread_ThreadPoolExecutor
  10. C# 获取视频文件播放时长