如何更很好的生成JSON文本进行详细介绍
创始人
2024-06-19 13:30:50
0

如果你和我一样,喜欢在自己的项目中使用开源的JavaScript框架,那么你可能可以省去使用json2.js文件了,这里以protype.js为例,该文件可以在http://www.prototypejs.org下载,由于本文不是在讲JavaScript框架,这里我假设你对prototype.js的使用已经有所了解了。

Prototype.js中提供了对Object对象的toJSON方法,你可以使用Object.toJSON()方法来实现对对象的串行化,例如: 复制JSON文本到剪贴板

代码:

  1. de>var cat=  
  2. {  
  3. name:"hellokitty",  
  4. height:"6 apples"  
  5. }  
  6. alert(Object.toJSON(cat));   
  7. //将弹出对话框,内容为 {"name": "hellokitty", "height": "6 apples"}de> 

另外,在prototype.js中还有另外的JSON支持,主要是在Ajax对象中对Ajax返回请求中JSON内容的解析。这里暂时与我们的内容无关,也不再介绍了。在上面我们一起了解了PHP进行对象串行化的方法以及在JavaScript中进行将对象串行化为JSON的方法。

你大致会质疑我为什么将二者放在一起,因为他们的语法实际是不完全一样的,然而,在PHP中,可以对JSON文本进行反串行化,也可以将PHP的对象串行化为 JSON而非PHP风格的文本。这主要是靠json_decode和json_encode两个函数来完成的,需要特别说明的是,这两个函数在PHP 5 >= 5.2.0中才被支持,如果你要编写运行在PHP4环境下的程序,那么这两个函数是不可以使用的。#t#

下面两个例子都基于我们的一个情景假设,即,我们有一个用户注册的模块,这个模块以“面向对象”的方式工作,在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对象,并输出。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...