JSON

如何更很好的生成JSON文本进行详细介绍

字号+ 作者:H5之家 来源:H5之家 2017-05-24 17:05 我要评论( )

如果你和我一样,喜欢在自己的项目中使用开源的JavaS cript框架,那么你可能可以省去使用json2.js文件了,这里以protype.js为例,该文件可以在http://www.protot

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

如果你和我一样,喜欢在自己的项目中使用开源的JavaScript框架,那么你可能可以省去使用json2.js文件了,这里以protype.js为例,该文件可以在下载,由于本文不是在讲JavaScript框架,这里我假设你对prototype.js的使用已经有所了解了。
Prototype.js中提供了对Object对象的toJSON方法,你可以使用Object.toJSON()方法来实现对对象的串行化,例如: 复制JSON文本到剪贴板
代码:

双击代码全选

1

2

3

4

5

6

7

8

<pre class="brush:js;toolbar:false;">de>var cat= 

name:"hellokitty", 

height:"6 apples"

alert(Object.toJSON(cat));  

//将弹出对话框,内容为 {"name": "hellokitty", "height": "6 apples"}de></pre><p>

</p>

 

另外,在prototype.js中还有另外的JSON支持,主要是在Ajax对象中对Ajax返回请求中JSON内容的解析。这里暂时与我们的内容无关,也不再介绍了。在上面我们一起了解了PHP进行对象串行化的方法以及在JavaScript中进行将对象串行化为JSON的方法。
你 大致会质疑我为什么将二者放在一起,因为他们的语法实际是不完全一样的,然而,在PHP中,可以对JSON文本进行反串行化,也可以将PHP的对象串行化 为 JSON而非PHP风格的文本。这主要是靠json_decode和json_encode两个函数来完成的,需要特别说明的是,这两个函数在PHP 5 >= 5.2.0中才被支持,如果你要编写运行在PHP4环境下的程序,那么这两个函数是不可以使用的。
下面两个例子都基于我们的一个情景假设,即,我们有一个用户注册的模块,这个模块以“面向对象”的方式工作,在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对象,并输出。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 如何取消JSON REST API和xmlrpc

    如何取消JSON REST API和xmlrpc

    2017-05-24 13:04

  • Swift JSON数据解析生成视频教程

    Swift JSON数据解析生成视频教程

    2017-05-20 13:02

  • 使用maven根据JSON文件自动生成Java POJO类(Java Bean)源文件

    使用maven根据JSON文件自动生成Java POJO类(Java Bean)源文件

    2017-05-20 11:01

  • 从 XML 生成可与 Ajax 共同使用的 JSON

    从 XML 生成可与 Ajax 共同使用的 JSON

    2017-05-17 18:00

网友点评
.