PHP json格式和js json格式 js跨域调用实现代码_php教程-查字典教程网
PHP json格式和js json格式 js跨域调用实现代码
PHP json格式和js json格式 js跨域调用实现代码
发布时间:2016-12-29 来源:查字典编辑
摘要:先看一个js函数复制代码代码如下:functionjsontest(){varjson=[{'username':'crystal','us...

先看一个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":"u7a0bu7a0b","meta_title":"u7a0bu7a0bu535au5ba2"},{"catid":"6","catname":"climber","meta_title":"u6500u767bu8005"}]

这就是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教程学习
    编程开发子分类