快速业务通道

PHP串行化与JSON

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-25
"button" value="JSON" />
   </p>
</form>
</body>
</html>
当提交表单时,将触发JavaScript函数JSON_text(),该函数首先建立一个JavaScript对象user,将其name、email 和password属性分别设为对应表单的值,而后使用json2.js文件的JSON.stringify方法将其转换为JSON文本 json_string,最后设定隐藏域(这里为了使你看的清楚,我把这个隐藏域以文本框形式显示了)txt_json的值为json_string,并提交表单。
下面到json_encode.php文件,如下:

代码:
<?php
$json_string = PHP串行化与JSON - 凌众科技

快速业务通道

PHP串行化与JSON

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-25
content

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号

POST["txt_json"];
if(ini_get("magic_quotes_gpc")=="1")
{
$json_string=stripslashes($json_string);
}
$user = json_decode($json_string);
echo var_dump($user);
?>
在这个文件中,首先得到json_encode.html文件中POST表单域txt_json的值,放入变量$json_string中,而后判断,如果当前PHP的设定为magic_quotes_gpc=On,即传入的双引号等会被转义,这样json_decode函数无法解析,因此我们要将其反转义化。而后,使用json_decode函数将JSON文本转换为对象,保存在$user变量中,最终用echo var_dump($user);,将该对象dump输出出来,最终结果是:

代码:
object(stdClass)#1 (3) {
   ["name"]=>
   string(10) "hanguofeng"
   ["email"]=>
   string(18) "example@domain.com"
   ["password"]=>
   string(10) "hanguofeng"
}
json_encode函数实例

在这个例子中,仍然是由两部分构成的,即json_enode.html和json_encode.php。在json_decode.html文件中,基本与 json_decode.html文件的表单类似,但是不同的是,这次我们要从json_encode.php文件中获得相应用户的JSON文本,先来看这个PHP文件吧:

代码:
<?php
Class user{
public $name="";
public $email="";
public $password="";
};
$myUser = new user;
$myUser->name="hanguofeng";
$myUser->email="example@domain.com";
$myUser->password="hanguofeng";
$json_string = json_encode($myUser);
?>
var user = <?php echo($json_string)?>;
这个文件首先建立类user,而后获得一个user类的实例myUser,并设定其用户名、邮箱和密码,接下来使用json_encode函数将其转换为 JSON文本,保存在变量$json_string中,最后输出一段JavaScript代码,以在JavaScript中建立全局变量user。
接下,我们需要在json_encode.html文件中引入json_encode.php文件,并得到user对象的各个属性,如下:

代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>json_encode</title>
<script src="json_encode.php" type="text/javascript"></script>
</head>
<body>
<form id="form1" name="form1" method="post">
   <label for="txt_name">姓名</label>
   <p>
<input type="text" name="txt_name" id="txt_name" />
   </p>
   <label for="txt_email">邮箱</label>
   <p>
<input type="text" name="txt_email" id="txt_email" />
   </p>
   <p>
<label for="txt_password">密码</label>
   </p>
   <p>
<input type="text" name="txt_password" id=

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号