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 相关文章推荐
轻松修复Discuz!数据库
May 03 PHP
PHP中文分词的简单实现代码分享
Jul 17 PHP
php将url地址转化为完整的a标签链接代码(php为url地址添加a标签)
Jan 17 PHP
thinkphp在模型中自动完成session赋值示例代码
Sep 09 PHP
跟我学Laravel之视图 &amp; Response
Oct 15 PHP
php基于表单密码验证与HTTP验证用法实例
Jan 06 PHP
php设置页面超时时间解决方法
Sep 22 PHP
PHP中Array相关函数简介
Jul 03 PHP
php集成动态口令认证
Jul 21 PHP
[原创]php集成安装包wampserver修改密码后phpmyadmin无法登陆的解决方法
Nov 23 PHP
php记录搜索引擎爬行记录的实现代码
Mar 02 PHP
PHP实现腾讯短网址生成api接口实例
Dec 08 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
php flv视频时间获取函数
2010/06/29 PHP
解析PHP中的unset究竟会不会释放内存
2013/07/18 PHP
PHP禁止个别IP访问网站
2013/10/30 PHP
基于php的微信公众平台开发入门实例
2015/04/15 PHP
PHP不使用递归的无限级分类简单实例
2016/11/05 PHP
详解PHP处理密码的几种方式
2016/11/30 PHP
php创建类并调用的实例方法
2019/09/25 PHP
Laravel 模型使用软删除-左连接查询-表起别名示例
2019/10/24 PHP
JS清除IE浏览器缓存的方法
2013/07/26 Javascript
我的Node.js学习之路(三)--node.js作用、回调、同步和异步代码 以及事件循环
2014/07/06 Javascript
js中javascript:void(0) 真正含义
2020/11/05 Javascript
javascript每日必学之封装
2016/02/23 Javascript
jquery操作select取值赋值与设置选中实例
2017/02/28 Javascript
js实现倒计时关键代码
2017/05/05 Javascript
JavaScript文件的同步和异步加载的实现代码
2017/08/19 Javascript
VueJs 将接口用webpack代理到本地的方法
2017/11/27 Javascript
基于Vue框架vux组件库实现上拉刷新功能
2017/11/28 Javascript
详解如何制作并发布一个vue的组件的npm包
2018/11/10 Javascript
vue-cli3 项目从搭建优化到docker部署的方法
2019/01/28 Javascript
JS桶排序的简单理解与实现方法示例
2019/11/25 Javascript
详解Node.JS模块 process
2020/08/31 Javascript
9个JavaScript日常开发小技巧
2020/10/06 Javascript
[44:50]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 TNC vs VG
2018/04/02 DOTA
python将人民币转换大写的脚本代码
2013/02/10 Python
python实现的登录和操作开心网脚本分享
2014/07/09 Python
python类的继承实例详解
2017/03/30 Python
学python最电脑配置有要求么
2020/07/05 Python
css3 给页面加个半圆形导航条主要利用旋转和倾斜样式
2014/02/10 HTML / CSS
html5 Canvas画图教程(3)—canvas出现1像素线条模糊不清的原因
2013/01/09 HTML / CSS
英国复古和经典球衣网站:Vintage Football Shirts
2018/10/05 全球购物
求职信的要素有哪些呢
2013/12/26 职场文书
中专药剂专业应届毕的自我评价
2013/12/27 职场文书
装修五一活动策划案
2014/01/23 职场文书
工程开工庆典邀请函
2014/02/01 职场文书
租房安全协议书
2014/08/20 职场文书
关于感恩的演讲稿800字
2014/08/26 职场文书