How to use json with as3corelib in flex( JSON )

来源:互联网 发布:暴风影音软件 编辑:程序博客网 时间:2024/06/06 01:08

How to use json with as3corelib in flex(  JSON )

摘要:本文主要介绍as3corelib如何在flex中使用,以及如何在flex中使用json。
关键词:as3corelib,json,flex3
作者:sban

一、什么是as3corelib?

as3corelib是一个开源的,免费的ActionScript3.0 Library。所用开源协议是New BSD License.它是一些实用类的集合,包括一些如md5,sha等加密算法,还有json的编码与解码,一些webapi,还有若干实用的utils classses。它是一个开发as3应用不可或缺的library。

二、从哪里可以下载:

1,从这里下载最新发布的zip包。

2,用SVN工具从开发者的源码库里下载开发版本,地址:http://as3corelib.googlecode.com/svn/trunk/, svn工具可以选择RapidSVN。

三、如何编译、使用它?

用svn获取到最新的开发版本(截止到2008/08/30)至as3corelib目录,包括examples,docs,src,tests目录。examples只包括一个json的例子。docs是用asdoc生成的,如果看源码,就不用看它了。tests是用flexunit写的测试。

学习使用as3corelib,最好是自己编码,而不是使用开发者已经编译好的swc文件。如果用flex builder 3创建library,把src文件添加进来之后,出现找不到flash.filesystem.File之类的错误,可按如下方法解决:

右键打开项目属性>Flex Library Compile>选择Include Adobe air libraries。flash.filesystem.File,与FileStream,FileMode均属于系统文件操作类,位于AIR Library中。

编译通过,一般会在bin目录生成一个swc文件。新建一个project,引用这个library。

四、JSON的使用

1,什么是JSON,JSON文件如何描述?

json(JavaScript Object Notation)是一种轻量级的文本数据描述格式,它太简单,还不足以称之为语言,但它很强大。json把相同内容的文本数据量降到最低,可谓是最轻量级,它几乎没有一个字符是多余的。它把文本数据以一种最简单的格式描述了所有的复杂。在json的描述中,除了文本之外,标识符有”{}”,”[]“,”,”,”:”,其中“{}”表示是一个对象,“[]”表示是一个并列的数组,”,”表示并列对象的分隔,“:”表示名/值对,前面为名称,后面为值。名/值对并非一定要成对出现,有时在一个数组中,便只有值,没有名了。json可以描述任何一个xml格式的文本数据。如下面这个xml文本:

<posts><post><id>1</id><title>帖子1</title><content>内容1</content><author>sban</author></post><post><id>2</id><title>帖子2</title><content>内容2</content><author>sban</author></post></posts>

如上所示,posts是独立的一节,可视为对象用{}描述。其下有两个post,结构相同,可视为数组,用[]描述。再其下如1,可视为一个名值对。可以如下描述:

{posts:[
{
id:1,
ti�有名称的数组,而所有名/值对的父标签都是{}。

JSON.decode的参数必须是符合json描述定义的文本。

JSON.encode效果展示:http://blog.sban.com.cn/flex/as3corelib/json_encode.html
JSON.decode效果展示:http://blog.sban.com.cn/flex/as3corelib/json.html
两者源码:http://blog.sban.com.cn/flex/as3corelib/srcview/index.html

相关资源:
1,json examples:http://www.json.org/example.html
2,json权威站点:http://www.json.org/

sban 2008年8月30日于北京朝阳园

原文链接:http://blog.sban.com.cn/2008/08/30/how-to-use-json-with-as3corelib-in-flex.html