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中修改浏览器的User-Agent来伪装你的浏览器和操作系统
Jul 29 PHP
php操作JSON格式数据的实现代码
Dec 24 PHP
php实现查看邮件是否已被阅读的方法
Dec 03 PHP
php中实现获取随机数组列表的自定义函数
Apr 02 PHP
PHP session文件独占锁引起阻塞问题解决方法
May 12 PHP
php算法实例分享
Jul 14 PHP
浅谈php7的重大新特性
Oct 23 PHP
PHP获取二维数组中某一列的值集合
Dec 25 PHP
php getcwd与dirname(__FILE__)区别详解
Sep 24 PHP
PHP中文字符串截断无乱码解决方法
Oct 10 PHP
php插入含有特殊符号数据的处理方法
Nov 24 PHP
php单元测试phpunit入门实例教程
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
PHP写杨辉三角实例代码
2011/07/17 PHP
php生成zip文件类实例
2015/04/07 PHP
WordPress中获取指定分类及其子分类下的文章数目
2015/12/31 PHP
html文档中的location对象属性理解及常见的用法
2014/08/13 Javascript
JS实现的表格行鼠标点击高亮效果代码
2015/11/27 Javascript
JavaScript类型系统之布尔Boolean类型详解
2016/06/26 Javascript
Javascript在IE和Firefox浏览器常见兼容性问题总结
2016/08/03 Javascript
JS DOMReady事件的六种实现方法总结
2016/11/23 Javascript
jquery,js简单实现类似Angular.js双向绑定
2017/01/13 Javascript
使用html+js+css 实现页面轮播图效果(实例讲解)
2017/09/21 Javascript
vue 多入口文件搭建 vue多页面搭建的实例讲解
2018/03/12 Javascript
angular 服务随记小结
2019/05/06 Javascript
ES6 Symbol数据类型的应用实例分析
2019/06/26 Javascript
微信小程序中如何计算距离某个节日还有多少天
2019/07/15 Javascript
[52:00]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 LGD vs Optic
2018/04/02 DOTA
[43:32]Winstrike vs VGJ.S 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
Python中的random()方法的使用介绍
2015/05/15 Python
使用python实现rsa算法代码
2016/02/17 Python
Python实现重建二叉树的三种方法详解
2018/06/23 Python
python:接口间数据传递与调用方法
2018/12/17 Python
python之信息加密题目详解
2019/06/26 Python
python 求某条线上特定x值或y值的点坐标方法
2019/07/09 Python
使用Pyhton集合set()实现成果查漏的例子
2019/11/24 Python
tensorflow生成多个tfrecord文件实例
2020/02/17 Python
Python任务调度模块APScheduler使用
2020/04/15 Python
Python实现微信表情包炸群功能
2021/01/28 Python
DHC美国官网:日本通信销售第一的化妆品品牌
2017/11/12 全球购物
英国足球店:UK Soccer Shop
2017/11/19 全球购物
Ray-Ban雷朋奥地利官网:全球领先的太阳眼镜品牌
2020/10/12 全球购物
广州迈达威.net面试题目
2012/03/10 面试题
财务人员求职自荐书范文
2014/02/10 职场文书
房地产公司财务总监岗位职责
2015/04/03 职场文书
css3 实现文字闪烁效果的三种方式示例代码
2021/04/25 HTML / CSS
一文弄懂MySQL中redo log与binlog的区别
2022/02/15 MySQL
python 实现图片特效处理
2022/04/03 Python
MySQL库表太大怎么办? 数据库分库分表项目实践
2022/04/11 MySQL