JSON vs. JSONSerializationFilter

在使用HTTPService时,如果要来序列和反序列JSON数据,一般会用使用开源corelib中的JSON 类,此类教程已经很多。本文将介绍另一种方案:使用Adobe Flash Builder 4附带的JSONSerializationFilter。

使用Adobe Flash Builder 4 实现以数据中心为开发(DCD)HTTPService + JSON应用时,Adobe Flash Builder 4 将自动为我们导入相应的库。请参看:http://sujitreddyg.wordpress.com/2009/06/05/consuming-json-using-data-centric-development-feature-dcd-in-flash-builder-4/。实际上,向导使用的是HTTPMultiService类,HTTPService类也类似,只要通过设置HTTPService属性serializationFilter为JSONSerializationFilter对象,为HTTPService提供一个适配器,即可处理JSON格式的数据。

在下面的实例中,我们利用Yahoo search APIs返回的JSON数据结合HTTPService做了一个简单的搜索应用。

点击此处查看该实例最终效果,点击此处下载该实例的源码。

注意

1. 和JSON类不一样的是,JSONSerializationFilter类会将JSON数组直接转换成ArrayCollection。

2. JSONSerializer解析空数组会出错,详见https://bugs.adobe.com/jira/browse/FB-26409。可以在数组中放一个空对象:[{}]来解决这个问题。

发表评论