在php和JavaScript中处理JSON数据

首先要在 php 中把要发送给客户端的数据用 json 编码

<?php

header( "Content-Type: text/html; charset=GBK" );

$a = array ( array ( 'name' =>iconv( 'GBK' , 'UTF-8' , ' 何涛 ' ), 'ip' => '192.168.0.8' , 'rate' => '180KB/s' )

, array ( 'name' => 'eth1' , 'ip' => '192.168.0.5' , 'rate' => '200KB/s' ));

echo json_encode( $a );

?>

 

然后是客户端的处理

 

< script type = "text/javascript" >

<!--

if (window.ActiveXObject)

    xmlHttp1= new ActiveXObject( "Microsoft.XMLHTTP" );        // 兼容 IE 浏览器

else if (window.XMLHttpRequest)

    xmlHttp1= new XMLHttpRequest();        // 兼容 Firefox 浏览器

xmlHttp1.onreadystatechange= function ()

{

    if (xmlHttp1.readyState==4&&xmlHttp1.status==200)

    {

        //alert(xmlHttp1.responseText)

        state=eval( '(' +xmlHttp1.responseText + ')' );

        for (s in state)

        {

           alert(state[s].name);

        }

       

    }

}

url = "json.php?timeStamp=" + new Date().getTime();

xmlHttp1.open( "GET" ,url, true );

xmlHttp1.send( null );

 

//-->

</ script >

 

上例中我是把数据作为二维数据使用的,在 PHP 中数字键值的数组在 JavaScript 中则表示为数组用 a[i] 的形式访问,字符键值的数组在 JavaScript 中表示为对象,需要用“ . “号来引用成员,用 a.name 的形式。

如果是单个变量就简单了,直接访问就行了。

这里要注意一个中文的问题, phpjson 函数只能对 utf-8 编码的字符进行编码,如果不是 utf-8 编码相应的字符就会变成 null, 如果 php 文件不是 utf-8 需要加 iconv 函数,包含 JavaScript 文件的编码是什么无所谓,浏览器会进行识别,不用担心 gbk 编码的文件无法接收中文字符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值