PHP json格式和js json格式 js跨域调用实现代码


Posted in PHP onSeptember 08, 2012

先看一个js函数

function jsontest() 
{ 
var json = [{'username':'crystal','userage':'20'},{'username':'candy','userage':'24'}]; 
alert(json[1].username); var json2 = [['crystal','20'],['candy','24']]; 
alert(json2[0][0]); 
}

这个函数,第一个alert(json[1].username); 会提示 “candy”。 json 变量是一个数组对象。所以要采用 obj.username 这样的格式来调用。
第二个 alert(json2[0][0]); 会提示 “crystal”。 json2变量是完全的一个json格式。 json和json2变量都达到了相同的效果,但json2明显要比json精简了很多。
这是 JavaScript 的json 格式。
下面我们来看看php中的json格式。
还是先看一段代码
$arr = array ( 
array ( 
'catid' => '4', 
'catname' => '程程', 
'meta_title' => '程程博客' 
), array ( 
'catid' => '6', 
'catname' => 'climber', 
'meta_title' => '攀登者', 
) 
); 
$jsonstr = json_encode($arr); 
echo $jsonstr;

这段代码中,$arr是一个数组,我们采用 json_encode 将$arr 转换为了 json 格式 。
这段代码会输出:

[{"catid":"4","catname":"\u7a0b\u7a0b","meta_title":"\u7a0b\u7a0b\u535a\u5ba2"},{"catid":"6","catname":"climber","meta_title":"\u6500\u767b\u8005"}]
这就是php对于json数据的处理。
对于json数据,php 也可以采用 json_decode()函数将json数据转换成 数组 。
比如 上述代码中,我们采用json_decode函数处理下。又会打印出 上面的数组。
$jsonstr = json_encode($arr);
$jsonstr = json_decode($jsonstr);
print_r($jsonstr);
接下来,我们看看,php json数据和 js json数据如何相互调用。

我们新建一个 php_json.php 文件

代码如下:

$arr = array ( 
array ( 
'catid' => '4', 
'catname' => '程程', 
'meta_title' => '程程博客' 
), array ( 
'catid' => '6', 
'catname' => 'climber', 
'meta_title' => '攀登者', 
) 
); 
$jsonstr = json_encode($arr); 
-----下面写在php区间之外----- 
var jsonstr=< ? = $jsonstr ? >;

PS:在php_json.php文件末尾 var jsonstr=< ? = $jsonstr ? >; 这一句。 这是将json格式的数据赋值给 jsonstr 变量。
我们再建立一个 json.html 文件

代码如下:

<SCRIPT type=text/javascript src="php_json.php"></SCRIPT><SCRIPT language=javascript type=text/javascript> 
function loadjson(_json) 
{ 
if(_json) 
{ 
for(var i=0;i<_json.length;i++) 
{ 
alert(_json[i].catname); 
} 
} 
} loadjson(jsonstr) 
</SCRIPT>

这样,我们在查看 json.html的时候,loadjson(jsonstr) 就会 提示 “程程”和“climber”
这样也实现了js跨域调用。
PHP 相关文章推荐
一贴学会PHP 新手入门教程
Aug 03 PHP
Ajax+PHP 边学边练之四 表单
Nov 27 PHP
PHPMailer 中文使用说明小结
Jan 22 PHP
php打开远程文件的方法和风险及解决方法
Nov 12 PHP
CodeIgniter中使用cookie的三种方式详解
Jul 18 PHP
destoon文章模块调用企业会员资料的方法
Aug 22 PHP
PHP多态代码实例
Jun 26 PHP
php简单实现短网址(短链)还原的方法(测试可用)
May 09 PHP
PHP常用的三种设计模式汇总
Aug 28 PHP
用php和jQuery来实现“顶”和“踩”的投票功能
Oct 13 PHP
PHP面向对象之领域模型+数据映射器实例(分析)
Jun 21 PHP
PHP如何实现阿里云短信sdk灵活应用在项目中的方法
Jun 14 PHP
header跳转和include包含问题详解
Sep 08 #PHP
php比较多维数组中值的大小排序实现代码
Sep 08 #PHP
JSON在PHP中的应用介绍
Sep 08 #PHP
php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
Sep 07 #PHP
巧用php中的array_filter()函数去掉多维空值的代码分享
Sep 07 #PHP
用C/C++扩展你的PHP 为你的php增加功能
Sep 06 #PHP
初步介绍PHP扩展开发经验分享
Sep 06 #PHP
You might like
web方式ftp
2006/10/09 PHP
PHP中的函数嵌套层数限制分析
2011/06/13 PHP
PHP垃圾回收机制引用计数器概念分析
2013/06/24 PHP
php递归使用示例(php递归函数)
2014/02/14 PHP
php快递单号查询接口使用示例
2014/05/05 PHP
PHP实现ftp上传文件示例
2014/08/21 PHP
php文件上传及下载附带显示文件及目录功能
2017/04/27 PHP
PHP+MySQL高并发加锁事务处理问题解决方法
2018/04/30 PHP
页面中iframe相互传值传参
2009/12/13 Javascript
JSON 和 JavaScript eval使用说明
2010/06/13 Javascript
面向对象的Javascript之二(接口实现介绍)
2012/01/27 Javascript
gridpanel动态加载数据的实例代码
2013/07/18 Javascript
用队列模拟jquery的动画算法实例
2015/01/20 Javascript
JavaScript实现多栏目切换效果
2016/12/12 Javascript
使用node.js搭建服务器
2017/05/20 Javascript
JavaScript数据结构之双向链表定义与使用方法示例
2017/10/27 Javascript
JS在if中的强制类型转换方式
2018/07/15 Javascript
webpack-mvc 传统多页面组件化开发详解
2019/05/07 Javascript
react-native滑动吸顶效果的实现过程
2019/06/03 Javascript
vue中使用极验验证码的方法(附demo)
2019/12/04 Javascript
Python 的内置字符串方法小结
2016/03/15 Python
Python Web程序部署到Ubuntu服务器上的方法
2018/02/22 Python
在notepad++中实现直接运行python代码
2019/12/18 Python
python实现在一个画布上画多个子图
2020/01/19 Python
使用Python webdriver图书馆抢座自动预约的正确方法
2021/03/04 Python
详解css3 Transition属性(平滑过渡菜单栏案例)
2017/09/05 HTML / CSS
澳大利亚排名第一的露营和户外设备在线零售商:Outbax
2020/05/06 全球购物
普通院校学生的自荐信
2013/11/27 职场文书
自我评价格式
2014/01/06 职场文书
美德好少年事迹材料
2014/01/19 职场文书
关于热爱祖国的演讲稿
2014/05/04 职场文书
专题组织生活会思想汇报
2014/10/01 职场文书
群众路线专项整治方案
2014/10/27 职场文书
实习指导教师评语
2014/12/30 职场文书
摩登时代观后感
2015/06/03 职场文书
MySQL 亿级数据导入导出及迁移笔记
2021/06/18 MySQL