果你要编写运行在PHP4环境下的程序,那么这两个函数是不可以使用的。
json_decode函数
语法
mixed json_decode ( string $json [, bool $assoc] ) 获取一个JSON编码文本,并且将其转换为PHP变量
参数
json 被JSON编码的文本 assoc 当为TRUE时,返回的值为联合数组
返回值
返回一个对象,或者如果可选的assoc参数为TRUE,则一个联合数组将会被返回
json_encode函数
语法
string json_encode ( mixed $value ) 该函数返回一个值的JSON表达式
参数
value 要被编码的值,可以为除resource外的任何类型参数 这个函数仅在UTF-8编码格式时起作用
返回值
当成功时返回编码后的JSON文本
json_decode函数实例
下面两个例子都基于我们的一个情景假设,即,我们有一个用户注册的模块,这个模块以“面向对象”的方式工作,在json_decode函数实例中,我们在前台将用户的注册信息变为一个类的属性,而后传递到后台的php文件(这里为了简便,就不用Ajax了)。在json_encode实例中,我们在html文件中引用一个js 文件,地址指向php文件,在php文件中输出json编码后的用户对象(同样为了简便,我们直接生成一个对象而不从数据库中取信息),并在html中输出。 好了,先来看前台的页面json_encode.htm,这个页面模仿了通常的注册页面,在其上面有一个表单,当提交时,触发 JavaScript函数,生成一个用户对象user,将表单内容设为用户对象的属性,生成JSON文本,以POST方式传递到后台的 json_encode.php文件。在js_encode.php文件中,将JSON文本用json_decode函数解析为PHP对象,并输出。 好了,先来看json_encode.html文件,文件代码如下:
代码: <!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_decode</title> <script src="json2.js" type="text/javascript"></script> <script type="text/javascript"> function JSON_test(o){ var user = { name:document.getElementById(''txt_name'').value, email:document.getElementById(''txt_email'').value, password:document.getElementById(''txt_name'').value } var json_string = JSON.stringify(user);
document.getElementById(''txt_json'').value=json_string; alert("点击确定后将提交表单"); o.submit(); } </script> </head> <body> <form id="form1" name="form1" method="post" action="json_encode.php" onsubmit="JSON_test(this)"> <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="txt_password" /> </p> <p> <input type="text" name="txt_json" id="txt_json" /> <label for="button"></label> <input type="submit" name="button" id= |