zoukankan      html  css  js  c++  java
  • TestVo【Vector、JSON(as3corelib.92.1 Abode官方类库)】

    package
    {
        import flash.utils.describeType;
    
        public class TestVo
        {
            public function TestVo()
            {
            }
            public var expe:int;
            public var gCoin:Number;
            public var expeId:int;
            public var star:Number;
            public var teamId:int;
            public var descr:String;
            public var ring:int;
            public var orcStr:*;
            public var mon:*;
            
            public var good:*;
            
            public function toString():String
            {
                var xml:XML = describeType(this);
                var str:String = '...TestVo ...\n';
                for (var i:int=0; i<xml.child('variable').length(); i++)
                {
                    var vName:String = '' + xml.child('variable')[i].attribute('name');
                    str +=  '...*' + vName + ' : ' + this[vName] + '\n';
                }
                str +=  '... TestVo ...\n';
                return str;
            }
    
        }
    }
    package 
    {
        import flash.display.Sprite;
        import flash.utils.describeType;
        import flash.utils.getQualifiedClassName;
    
        import com.adobe.serialization.json.JSON;
    
        public class Test1 extends Sprite
        {
            public function Test1()
            {
                var vo:TestVo = new TestVo();
                var str:String = '{"expeId":1,"star":2,"teamId":3,"descr":4,"ring":5,"orcStr":6,"expe":7,"mon":8,"gCoin":9}';
                var obj:Object = JSON.decode(str);
    
                var xml:XML = describeType(vo);
                trace("..xml..start..\n"+xml+"\n....xml..end...");
    
                for (var i:int=0; i<xml.child('variable').length(); i++)
                {
                    var vName:String = '' + xml.child('variable')[i].attribute('name');
                    
                    trace("obj.hasOwnProperty(vName)  : "+obj.hasOwnProperty(vName));
                    
                    if (obj.hasOwnProperty(vName) == false)
                    {
                        trace("continue...vName  :  "+vName);
                        continue;
                    }
                    if (getQualifiedClassName(vo[vName])=='String')
                    {
                        vo[vName] = '' + obj[vName];
                    }
                    else if (getQualifiedClassName(vo[vName])=='Number')
                    {
                        vo[vName] = Number(obj[vName]);
                    }
                    else if (getQualifiedClassName(vo[vName])=='int')
                    {
                        vo[vName] = Math.round(int(obj[vName]));
                    }
                    else
                    {
                        vo[vName] = obj[vName];
                    }
                    trace("vo["+vName+"]***"+vo[vName]);
                }
                trace(vo.toString());
            }
        }
    }
  • 相关阅读:
    codec功能简介
    dtmf原理说明
    linux的vm.overcommit_memory的内存分配参数详解
    Hibernate与Sleep的区别
    简单的读写-simple_read_from_buffer
    linux delay sleep
    Linux系统上的popen()库函数
    Linux中popen函数的作用小结
    ulimit 命令详解
    LTE Cat1有什么用?基于4G LTE打造cat1,弥补NB-IoT和5G的空缺
  • 原文地址:https://www.cnblogs.com/602147629/p/2507676.html
Copyright © 2011-2022 走看看