`
Poechant
  • 浏览: 227402 次
博客专栏
Bebe66e7-3a30-3fc9-aeea-cfa3b474b591
Nginx高性能Web服务...
浏览量:24238
5738817b-23a1-3a32-86de-632d7da73b1e
Cumulus实时媒体服务...
浏览量:22041
社区版块
存档分类
最新评论

AS3CoreLib JSON serialization

 
阅读更多

AS3CoreLib JSON serialization

  • Author: 柳大·Poechant(钟超)
  • Email: zhongchao.ustc#gmail.com (# -> @)
  • Blog:Blog.CSDN.net/Poechant
  • Date: May 2nd, 2012

Example #1: Directly generate JSON object

How to generate a JSON object directly?


package {
    import com.adobe.serialization.json.JSON;
    import flash.display.Sprite;
    public class test3 extends Sprite {
        public function test3() {
            var str:String = "{\"nations\": " +
                "[{\"country\":\"P.R.China\", \"capital\":\"Beijing\"}, " +
                "{\"country\":\"U.S.\", \"capital\":\"Washington D.C.\"}]" +
                "}";
            var json:Object = new Object();
            json = JSON.decode(str);
            trace(json.nations[0].country);
        }
    }
}

Output:


P.R.China

Example #2: Serialize an object to JSON

You can serialize an object containing primary type members to a JSON object. RememberPRIMARY.


package {
    import com.adobe.serialization.json.JSON;
    import flash.display.Sprite;
    import flash.utils.ByteArray;
    public class test3 extends Sprite {
        public function test3() {
            var example:Example = new Example();
            example._int = 3;
            example._number = 4.5;
            example._string = "hello";
            example._boolean = true;
            var json:String = JSON.encode(example);
            trace(json);
        }
    }
}

import flash.utils.ByteArray;
class Example {
    public var _int:int;
    public var _number:Number;
    public var _string:String;
    public var _boolean:Boolean;
    public function Example() {
    }
}

output:


{"_number":4.5,"_boolean":true,"_int":3,"_string":"hello"}

Can a ByteArray be serialized to a JSON?

Yes, but…


package {
    import com.adobe.serialization.json.JSON;
    import flash.display.Sprite;
    import flash.utils.ByteArray;
    public class test3 extends Sprite {
        public function test3() {
            var example:Example = new Example();
            example._int = 3;
            example._number = 4.5;
            example._string = "hello";
            example._boolean = true;
            example._byteArray.writeInt(1234);
            var json:String = JSON.encode(example);
            trace(json);            
            var result:Object = new Object();
            result = JSON.decode(json);
            trace(result._byteArray);
        }
    }
}

import flash.utils.ByteArray;
class Example {
    public var _int:int;
    public var _number:Number;
    public var _string:String;
    public var _boolean:Boolean;
    public var _byteArray:ByteArray;    
    public function Example() {
        _byteArray = new ByteArray();
    }
}

You will see the output:


{"_byteArray":{"length":4,"position":4,"bytesAvailable":0,"objectEncoding":3,"endian":"bigEndian"},"_number":4.5,"_boolean":true,"_int":3,"_string":"hello"}
[object Object]

Yes, only those member of primary types are serialized into JSON result…So CAUTION! When you wanna use JSON, just keep your eyes on PRIMARY types.

Reference

  1. JSON - ActionScript® 3.0 Reference for the Adobe® Flash® Platform
  2. Github - mikechambers/as3corelib
  3. JSON扫盲帖+JSON类教程

-

转载请注明来自柳大的CSDN博客:Blog.CSDN.net/Poechant

-

分享到:
评论

相关推荐

    as3corelib.swc及解析json的例子

    在本文中,我们将深入探讨如何在Flex 4.5中使用as3corelib库来解析JSON数据。as3corelib是一个强大的ActionScript 3库,它包含了一系列实用工具类,其中一个重要的功能就是处理JSON(JavaScript Object Notation)...

    as3corelib

    as3corelib库提供了一个名为`com.adobe.serialization.json`的包,内含`JSON`类,用于将AS3的对象序列化为JSON字符串,以及将JSON字符串反序列化为AS3对象。这对于跨平台的数据交互和存储非常有用,特别是在Web服务...

    [资源]as3corelib库及帮助文档

    2. **JSON解析**:库中的`com.adobe.serialization.json`包提供了JSONEncoder和JSONDecoder,使得在AS3中进行JSON序列化和反序列化变得简单易行。 3. **XML操作**:虽然AS3自带了XML类,但as3corelib提供了`...

    flex json包as3corelib

    com.adobe.serialization.json.JSON; flex使用json报错,没有定义的类型,导入包即可. 资源是rar文件, 里面有源码+示例 和一个as3corelib.swc文件

    as3corelib.swc

    `as3corelib.swc` 是一个针对Adobe Flex开发的第三方库,主要包含了一系列用于增强ActionScript 3(AS3)功能的类和工具。这个组件包被广泛应用于Flex项目中,提供了一些AS3标准库中没有的功能,帮助开发者更高效地...

    flex json解析包(corelib.swc)

    此外,对于那些没有明确的AS3映射的JSON属性,Flex会将其转换为Object类型,以保持数据的完整性。 在实际开发中,为了使用这些功能,你需要在代码中引入相应的命名空间,如描述中提到的: ```actionscript import ...

    在Flex中的Json应用

    二、AS3中的JSON库:as3corelib 在Flex中处理JSON,我们通常会用到一个名为as3corelib的库,这个库是由Adobe开源的一个强大工具集,包含了JSON解析和序列化的功能。在你提供的压缩包文件"Flex_Json(as3corelib)"中...

    JSON的类库

    `as3corelib` 包含了一个名为`com.adobe.serialization.json`的包,该包下有`JSON`类,用于处理JSON数据。 `JSON.parse()`方法是将JSON格式的字符串转换为ActionScript对象。例如,如果你有一个JSON字符串`{"name":...

    corelib-.90

    AS3库 用于 Flex2以上版本,Falsh CS3 包含类 MD5, SHA 1, Image encoders(JPEG,PNG), JSON serialization , Number, Date APIs.

    corelib.swc

    Flex处理JSON时需要的SWC文件.下载后Add到工程下的Library path下即可.或者直接复制到本地工程的Lib下; 完整的包名:com.adobe.serialization.json.JSON;

    AS3 实现发邮件

    因此,很多开发者会使用第三方库,如`GreenMail`或者`as3corelib`中的`Mailer`类,这些库已经封装了大部分SMTP通信逻辑,使得邮件发送变得更加简便。 下面是一个使用`as3corelib`的`Mailer`类的简例: ```...

    xls(xml2003格式)转json

    然而,AS3标准库并未提供此方法,所以可能需要引入第三方库如`as3corelib`。 ```actionscript import com.adobe.serialization.json.*; var jsonString:String = JSON.encode(object); ``` 5. **保存或发送...

    C#flash序列化案例

    同样,AS3也有序列化库,如AS3CoreLib,可以将AS3对象转换为JSON,再传递给C#进行反序列化。 5. **安全与性能考虑**: 当在C#和Flash之间交换敏感数据时,确保数据的安全性至关重要。可能需要加密序列化的数据,防止...

Global site tag (gtag.js) - Google Analytics