json它是一种数据的存储格式,就像PHP序列化后的字符串一样。它是一种数据描述。是客户端Javascript和服务端PHP的交互桥梁。我们用PHP生成JSON后的字符串,然后把这个字符串传给前台Javascript,Javascirpt就可以很容易的将其反JSON然后应用。PHP5.2开始内置了JSON的支持。两个函数:json_encode和json_decode(跟序列化很像啦)。一个编码,一个解码。

$arr = array('name'=>'张三','sex'=>'男','born'=>'1987-10-12');
echo json_encode($arr);

很简单的将一个数组JSON了。需要指出的是,在非UTF-8编码下,中文字符将不可被encode,结果会出来空值,所以,如果你使用gb2312编写PHP代码,那么就需要将包含中文的内容使用iconv转为UTF-8,再进行json_encode。

$arr = array('name'=>'张三','sex'=>'男','born'=>'1987-10-12');
foreach($arr as $key => $value){
     $row[$key] = iconv('gb2312′,'utf-8',$value);
}
echo json_encode($row);

现在可以将JSON序列化后字符对象,交给JAVASCRIPT来解析了,由函数eval进行对序列化字符进行分析和执行:

   var str = json序列化后的字符串;
    var obj = eval( '(' + str + ')');              //此时生成的是一个对象
   alert(obj.name);                               //输出  张三

2 Comments

  1. Tipsnya sangat bermanfaat mas..mas kalo boleh mau tanya nich kira2 berapa umur blog yang layak untuk mendaftar ke google adsense mohon pe.narehannyan.thacks sebelumnya..oh iya kalo berkenan dtnggu knjungan mas diblog aku..

发表评论

电子邮件地址不会被公开。 必填项已用*标注

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>


*