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 相关文章推荐
第六节 访问属性和方法 [6]
Oct 09 PHP
destoon实现不同会员组公司名称显示不同的颜色的方法
Aug 22 PHP
thinkphp视图模型查询提示ERR: 1146:Table 'db.pr_order_view' doesn't exist的解决方法
Oct 30 PHP
浅析php工厂模式
Nov 25 PHP
php发送短信验证码完成注册功能
Nov 24 PHP
PHP中ltrim与rtrim去除左右空格及特殊字符实例
Jan 07 PHP
Symfony2框架学习笔记之HTTP Cache用法详解
Mar 18 PHP
功能强大的php文件上传类
Aug 29 PHP
PHP抽象类与接口的区别详解
Mar 21 PHP
Yii框架中用response保存cookie,用request读取cookie的原理解析
Sep 04 PHP
PHP重载基础知识回顾
Sep 10 PHP
PHP实现页面静态化深入讲解
Mar 04 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
一个可以找出源代码中所有中文的工具
2006/10/25 PHP
用php实现的下载css文件中的图片的代码
2010/02/08 PHP
PHP中如何实现常用邮箱的基本判断
2014/01/07 PHP
php定时执行任务设置详解
2015/02/06 PHP
PHP使用PHPexcel导入导出数据的方法
2015/11/14 PHP
jquery 的 $(&quot;#id&quot;).html() 无内容的解决方法
2010/06/07 Javascript
JS跨域代码片段
2012/08/30 Javascript
js 控制下拉菜单刷新的方法
2013/03/03 Javascript
关于js注册事件的常用方法
2013/04/03 Javascript
Json实现异步请求提交评论无需跳转其他页面
2014/10/11 Javascript
JQuery替换DOM节点的方法
2015/06/11 Javascript
ionic 上拉菜单(ActionSheet)实例代码
2016/06/06 Javascript
checkbox 选中一个另一个checkbox也会选中的实现代码
2016/07/09 Javascript
微信小程序 教程之条件渲染
2016/10/18 Javascript
Bootstrap轮播图的使用和理解4
2016/12/14 Javascript
jQuery使用ajax方法解析返回的json数据功能示例
2017/01/10 Javascript
vue监听滚动事件实现滚动监听
2017/04/11 Javascript
JS实现简单拖拽效果
2017/06/21 Javascript
JS中的回调函数实例浅析
2018/03/21 Javascript
vue基础之事件简写、事件对象、冒泡、默认行为、键盘事件实例分析
2019/03/11 Javascript
解决Idea、WebStorm下使用Vue cli脚手架项目无法使用Webpack别名的问题
2019/10/11 Javascript
vue Treeselect 树形下拉框:获取选中节点的ids和lables操作
2020/08/15 Javascript
Python多线程编程(六):可重入锁RLock
2015/04/05 Python
python字符串str和字节数组相互转化方法
2017/03/18 Python
Python Pandas批量读取csv文件到dataframe的方法
2018/10/08 Python
Python利用for循环打印星号三角形的案例
2020/04/12 Python
python datetime处理时间小结
2020/04/16 Python
Python解析m3u8拼接下载mp4视频文件的示例代码
2021/03/03 Python
白俄罗斯女装和针织品网上商店:Presli.by
2019/10/13 全球购物
挂科检讨书范文
2014/02/20 职场文书
通信工程求职信
2014/07/16 职场文书
学校党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
升学宴学生致辞
2015/07/27 职场文书
2015年学校消防安全工作总结
2015/10/14 职场文书
创业计划书之淘宝网店
2019/10/08 职场文书
Redis Stream类型的使用详解
2021/11/11 Redis