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 相关文章推荐
Zend公司全球首推PHP认证
Oct 09 PHP
怎样在UNIX系统下安装MySQL
Oct 09 PHP
PHP 动态随机生成验证码类代码
Apr 09 PHP
PHP中防止SQL注入方法详解
Dec 25 PHP
php生成excel列名超过26列大于Z时的解决方法
Dec 29 PHP
PHP 接入支付宝即时到账功能
Sep 18 PHP
php支付宝在线支付接口开发教程
Sep 19 PHP
PHP封装函数实现生成随机的字符串验证码
Jan 24 PHP
PHP封装的分页类与简单用法示例
Feb 25 PHP
php异常处理捕获错误整理
Sep 23 PHP
php慢查询日志和错误日志使用详解
Feb 27 PHP
tp5使用layui实现多个图片上传(带附件选择)的方法实例
Nov 17 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
Firefox window.close()的使用注意事项
2009/04/11 Javascript
JavaScript Event学习第三章 早期的事件处理程序
2010/02/07 Javascript
Javascript中的默认参数详解
2014/10/22 Javascript
javascript实现左右控制无缝滚动
2014/12/31 Javascript
js实现单击图片放大图片的方法
2015/02/17 Javascript
angular.bind使用心得
2015/10/26 Javascript
javascript实现的猜数小游戏完整实例代码
2016/05/10 Javascript
Web前端新人笔记之jquery入门心得(新手必看)
2016/05/17 Javascript
Jquery 自定义事件实现发布/订阅的简单实例
2016/06/12 Javascript
JS函数修改html的元素内容,及修改属性内容的方法
2016/10/28 Javascript
AngularJS中scope的绑定策略实例分析
2017/10/30 Javascript
node.js自动上传ftp的脚本分享
2018/06/16 Javascript
关于JavaScript中高阶函数的魅力详解
2018/09/07 Javascript
实例讲解JS中pop使用方法
2019/01/27 Javascript
vue+element实现表格新增、编辑、删除功能
2019/05/28 Javascript
微信小程序实现列表的横向滑动方式
2020/07/15 Javascript
springboot+vue实现文件上传下载
2020/11/17 Vue.js
详解ES6 中的Object.assign()的用法实例代码
2021/01/11 Javascript
[45:06]完美世界DOTA2联赛PWL S2 Magma vs InkIce 第二场 11.28
2020/12/02 DOTA
[01:48:04]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第一场 2月7日
2021/03/11 DOTA
关于Python中异常(Exception)的汇总
2017/01/18 Python
Python利用multiprocessing实现最简单的分布式作业调度系统实例
2017/11/14 Python
Python实现的多线程同步与互斥锁功能示例
2017/11/30 Python
修复 Django migration 时遇到的问题解决
2018/06/14 Python
Python产生一个数值范围内的不重复的随机数的实现方法
2019/08/21 Python
django使用JWT保存用户登录信息
2020/04/22 Python
python statsmodel的使用
2020/12/21 Python
模特职业生涯规划范文
2014/02/26 职场文书
职员竞岗演讲稿
2014/05/14 职场文书
观看《周恩来的四个昼夜》思想汇报
2014/09/12 职场文书
董事长秘书岗位职责
2015/02/13 职场文书
安全生产奖惩制度
2015/08/06 职场文书
2016年党员公开承诺书范文
2016/03/24 职场文书
spring项目中切面及AOP的使用方法
2021/06/26 Java/Android
python区块链持久化和命令行接口实现简版
2022/05/25 Python
CSS link与@import的区别和用法解析
2023/05/07 HTML / CSS