Work with JSON Data in Firefox
JSON (JavaScript Object Notation),作为轻量级的数据交换格式,被越来越广泛地应用在Web Application中。这里讨论的是,如何在Firefox里,有效、方便地和JSON数据打交道。
1. JSON (JavaScript Object Notation) Regular Format
JSON数据在使用上,是非常简单易用的。很多语言都提供了JSON数据的编码和解码函数。比如在PHP程序中,可以这样来输出JSON格式的数据。
1: <?php2: // data initial
3: $myData = array();
4: 5: // data update
6: $myData = ...; 7: 8: // JSON data encode and export
9: echo json_encode( $myData );
10: ?>在实际使用过程中,这样的处理方式已经能够使程序正常地运行了。
但是,这样输出的JSON数据并没有严格遵从JSON的标准定义格式。在PHP里面,缺省情况下,PHP程序输出的内容,其媒体类型(Internet media type)是“text/html”。然而,JSON真正定义的媒体类型应该是“application/json”。因此,JSON数据严格的使用方法应该是:
1: <?php 2: ... 3: 4: // JSON data encode and export
5: header("Content-type: application/json");
6: echo json_encode( $myData );
7: ?>JSON数据本身是一样的,但输出的数据报文的头会有所区别。采用严格格式的JSON数据输出,当然还是有用的。它使得我们在Firefox里面,能够结构化显示JSON数据,提高应用开发的效率。
2. JSONView
JSONView,是Firefox里的一个插件。它的作用,处理“application/json”类型的数据,高亮、结构化显示JSON数据。此插件只对“application/json”类型的数据有效。在安装此插件之后,Firefox一旦发现此类数据,会自动调用JSONView显示。这里是,JSONView的显示例子。
3. Firebug
使用Firefox,开发Web应用程序的,对Firebug应该非常熟悉。Firebug从版本1.4a11开始,就提供了对JSON数据的支持。这种支持的前提条件,也是JSON数据必须标记为“application/json”媒体类型。
Firebug中,显示上述JSON数据,如下:
注意,Firebug显示的数据顺序,是排序过的,不是原始的JSON数据字段顺序。
通常,JSONView可以用来进行Web Service的初期调试,检查输出的JSON数据是否正常;Firebug则用于AJAX通讯模式下的,JSON数据测试。
Firebug中,对返回的Response数据块,是有限制的。当数据块的大小超过100k之后,Response表单就将超过部分,省略了。当然,JSON表单里显示出来的,还是列出了全部的数据,并没有省略。
JSONView,无法直接用于显示AJAX通讯过程的JSON数据。这需要在Firebug的Response表单中,从点击右键所弹出的菜单中,选择“Open Response in New Tab”。这样,AJAX过程中的数据,就在新的页面里看,用JSONView显示出来。
此选项,会把收集到的数据,直接调用JSONView显示,不会发生额外的再次通讯。相对应的,“Open in New Tab”选项,则是把AJAX的URL在新的页面打开。相应的,还要再次访问该URL,才能获取数据显示。


0 Comments:
Post a Comment
<< Home