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编程之高级技巧——利用Mysql函数
Oct 09 PHP
PHP中的类-什么叫类
Nov 20 PHP
php入门教程 精简版
Dec 13 PHP
深入掌握include_once与require_once的区别
Jun 17 PHP
PHP 线程安全与非线程安全版本的区别深入解析
Aug 06 PHP
php自定义错误处理用法实例
Mar 20 PHP
分享微信扫码支付开发遇到问题及解决方案-附Ecshop微信支付插件
Aug 23 PHP
php正则去除网页中所有的html,js,css,注释的实现方法
Nov 03 PHP
laravel通过创建自定义artisan make命令来新建类文件详解
Aug 17 PHP
详解Laravel设置多态关系模型别名的方式
Oct 17 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
Feb 15 PHP
php7中停止php-fpm服务的方法详解
May 09 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
声音就能俘获人心,蕾姆,是哪个漂亮小姐姐配音呢?
2020/03/03 日漫
php堆排序(heapsort)练习
2013/11/13 PHP
Zend Framework基本页面布局分析
2016/03/19 PHP
Yii视图操作之自定义分页实现方法
2016/07/14 PHP
PHP SFTP实现上传下载功能
2017/07/26 PHP
用JTrackBar实现的模拟苹果风格的滚动条
2007/08/06 Javascript
jquery.validate使用攻略 第二部
2010/07/01 Javascript
jquery+css+ul模拟列表菜单具体实现思路
2013/04/15 Javascript
JavaScript 和 Java 的区别浅析
2013/07/31 Javascript
js常用自定义公共函数汇总
2014/01/15 Javascript
javascript中AJAX用法实例分析
2015/01/30 Javascript
jQuery中借助deferred来请求及判断AJAX加载的实例讲解
2016/05/24 Javascript
js判断价格,必须为数字且不能为负数的实现方法
2016/10/07 Javascript
简单模拟node.js中require的加载机制
2016/10/27 Javascript
关于vue-router的那些事儿
2018/05/23 Javascript
JS的Ajax与后端交互数据的实例
2018/08/08 Javascript
用node开发并发布一个cli工具的方法步骤
2019/01/03 Javascript
vue路由--网站导航功能详解
2019/03/29 Javascript
用js简单提供增删改查接口
2019/05/12 Javascript
layer弹出层显示在top顶层的方法
2019/09/11 Javascript
BootstrapValidator验证用户名已存在(ajax)
2019/11/08 Javascript
解决Python安装后pip不能用的问题
2018/06/12 Python
python3.5基于TCP实现文件传输
2020/03/20 Python
Python实现带参数的用户验证功能装饰器示例
2018/12/14 Python
阿里云ECS服务器部署django的方法
2019/08/29 Python
基于python读取.mat文件并取出信息
2019/12/16 Python
在Keras中实现保存和加载权重及模型结构
2020/06/15 Python
用HTML5制作数字时钟的教程
2015/05/11 HTML / CSS
亚马逊墨西哥站:Amazon.com.mx
2018/08/26 全球购物
Oracle的内存结构(Memory structures)
2015/06/10 面试题
中学生演讲稿
2014/04/26 职场文书
中学生2014国庆节演讲稿:不屈的民族
2014/09/21 职场文书
保送生自荐信范文
2015/03/26 职场文书
2015年大学宣传部工作总结
2015/05/26 职场文书
Unity连接MySQL并读取表格数据的实现代码
2021/06/20 MySQL
关于k8s环境部署mysql主从的问题
2022/03/13 MySQL