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安装问题
Oct 09 PHP
php 正则匹配函数体
Aug 25 PHP
php处理json时中文问题的解决方法
Apr 12 PHP
php定时计划任务的实现方法详解
Jun 06 PHP
Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
Jun 14 PHP
php警告Creating default object from empty value 问题的解决方法
Apr 02 PHP
phpExcel中文帮助手册之常用功能指南
Aug 18 PHP
php实现图片添加描边字和马赛克的方法
Dec 10 PHP
微信支付开发维权通知实例
Jul 12 PHP
支付宝支付开发――当面付条码支付和扫码支付实例
Nov 04 PHP
php数组遍历类与用法示例
May 24 PHP
为你的 Laravel 验证器加上多验证场景的实现
Apr 07 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数据库编程之MySQL优化策略概述
2017/08/16 PHP
ThinkPHP5框架实现简单的批量查询功能示例
2018/06/07 PHP
JScript中的undefined和&quot;undefined&quot;的区别
2007/03/08 Javascript
js的写法基础分析
2011/01/17 Javascript
jQuery获取Select选择的Text和Value(详细汇总)
2013/01/25 Javascript
给Flash加一个超链接(推荐使用透明层)兼容主流浏览器
2013/06/09 Javascript
js实现局部页面打印预览原理及示例代码
2014/07/03 Javascript
js判断浏览器版本以及浏览器内核的方法
2015/01/20 Javascript
基于jQuery创建鼠标悬停效果的方法
2015/03/07 Javascript
深入浅出理解javaScript原型链
2015/05/09 Javascript
js游戏人物上下左右跑步效果代码分享
2015/08/28 Javascript
jquery弹出框插件jquery.ui.dialog用法分析
2016/08/20 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(三)
2016/09/14 Javascript
微信小程序实现tab和swiper切换结合效果
2020/07/17 Javascript
如何解决vue2.0下IE浏览器白屏问题
2018/09/13 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧滑动,右侧不动)
2019/01/23 Javascript
vue之封装多个组件调用同一接口的案例
2020/08/11 Javascript
Python 字符串操作实现代码(截取/替换/查找/分割)
2013/06/08 Python
Django与遗留的数据库整合的方法指南
2015/07/24 Python
Python实现OpenCV的安装与使用示例
2018/03/30 Python
python networkx 根据图的权重画图实现
2019/07/10 Python
Flask框架模板继承实现方法分析
2019/07/31 Python
Python定时发送天气预报邮件代码实例
2019/09/09 Python
python使用scapy模块实现ping扫描的过程详解
2021/01/21 Python
W Concept美国:精选全球独立设计师
2017/02/22 全球购物
捷克家具销售网站:SCONTO Nábytek
2020/01/02 全球购物
财务主管自我鉴定
2014/01/17 职场文书
会计助理岗位职责
2014/02/17 职场文书
求职信格式要求
2014/05/23 职场文书
商场客服专员岗位职责
2014/06/13 职场文书
法人委托书
2014/07/31 职场文书
临时租车协议范本
2014/09/23 职场文书
教师三严三实学习心得体会
2014/10/11 职场文书
2014年幼儿园老师工作总结
2014/12/05 职场文书
平安建设汇报材料
2014/12/29 职场文书
Nginx如何配置多个服务域名解析共用80端口详解
2022/09/23 Servers