`
arlxy
  • 浏览: 38395 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

[ActionScript]将String转化为Object

    博客分类:
  • FLEX
阅读更多

        在本项目的进行中,有人问了我个很有意思的问题,就是如何将一个String 转化为 Object(如果是动态语言就很方便了,这里是ActionScript)。

 

首先让我们来看一下他是在什么情况下遇到这个问题的,他想将一个CSV类型的文件,通过FileStream读入,然后经过程序解析后,放入ArrayCollection中,这个ArrayCollection是与 一个DataGrid的dataProvider绑定的。

 

首先,他不清楚要读入CSV文件有多少列,所以需要在程序中 去动态添加 DataGrid 的Columns.

如:

 var tagColumn:DataGridColumn=new DataGridColumn();
                                 tagColumn.headerText=fieldName[j];
                                 tagColumn.dataField=fieldName[j];
                                 params.columns.concat(tagColumn);

 

他将从CSV中的一行解析成如下这种个格式:

    var str:String={name:"Kevin",sex:"male",nationality:"china"}

 

而当执行 ArrayCollection.addItem(str) 的时候是错误的

如果执行 ArrayCollection.addItem({name:"Kevin",sex:"male",nationality:"china"}) 的时候是正确的

 

很明显 ArrayCollection.addItem()方法允许你增加对象,这个时候你则需要将 str 转化为 Object.

 

 var convertStr:String=str.slice(1,str.length-1); 

 var items:Array=convertStr.split(",");

 var obj:Object=new Object();

 for(var i:String in items){

         var pros:Array=i.split(":");

          obj[pros[0]]=pros[1].slice(1,pros[1].length-1);

 

  }

 

很简洁,现在就可以 ArrayCollection.addItem(obj) 了。

 

2
0
分享到:
评论
2 楼 robinlovoy 2011-03-12  
var convertStr:String=str.slice(1,str.length-1);
var items:Array=convertStr.split(",");
var obj:Object=new Object();
for each(var i:String in items){
         var pros:Array=i.split(":");
          obj[pros[0]]=pros[1].slice(1,pros[1].length-1);
  
  }
1 楼 robinlovoy 2011-03-12  
这是个很实用的思路,一直以为可以直接转换的

相关推荐

    ActionScript开发技术大全

    第5章ActionScript3.0中的String对象 104 5.1创建String对象 104 5.2字符串处理 105 5.2.1字符处理 105 5.2.2字符串比较 107 5.2.3裁割与连接 108 5.2.4查找、匹配与替换 110 5.2.5提取子串 112 5.2.6大小写转换 113...

    java关于字符串拼接的笔试题-as2cs:将一些语法从ActionScript转换为C#的小例子

    转换为 C# 再从 C# 转换回 ActionScript 3 的小例子。比较兼容的语法。 使用 SimpleParse 的 Typographify 示例来自 David Mertz 受版权保护的文章,在该目录中引用。 安装 取决于 Python SimpleParse 2.2。 您可以...

    将 Flex 集成到 Java EE 应用程序的最佳实践(完整源代码)

    现有的 Java EE 应用 ...由于 BlazeDS 需要将 Java 接口 FlexService 暴露给 Flex 前端,因此,我们在配置文件 remoting-config.xml 中将 FlexService 接口声明为一个服务: 清单 6. 定义 flexService 服务 ...

    +Flex+集成到+Java+EE+应用程序的最佳实践(完整源代码)

    为了能完成自动生成 RemoteObject 对象,我编写了一个 Java2ActionScript 的 Ant 任务来自动转换 FlexService 接口以及相关的所有 JavaBean。JavaInterface2RemoteObjectTask 完成一个 Java 接口对象到 RemoteObject...

    107个常用javascript语句

    下面的示例创建 my_array,并将其转换为字符串。 var my_array:Array = new Array(); my_array[0] = 1; my_array[1] = 2; my_array[2] = 3; my_array[3] = 4; my_array[4] = 5; trace(my_array.toString()); // ...

    Flex新手教程_入门级学习笔记

    1.1类和对象 Class and Object 1 1.2包与命名空间 Package and NameSpace 1 1.3构造方法Constructor 2 1.4变量和值 Variable 2 1.5赋值 2 1.6 AS数据类型 3 1.7数据类型转换 3 1.8实例方法,实例变量和静态方法,静态...

    as3-vanilla:无需编写一行代码即可从动态对象中提取强类型对象!

    一个示例用例是将从 JSON 端点返回的数据转换为模型,如果您曾经编写过以下代码,那么您可以从这个库中受益: // Use a JSON library to convert a JSON String into an AS3 Object. var jsonObject : Object = ...

    JAVA上百实例源码以及开源项目源代码

     在对象创建的过程中将被容器调用,onMessage函数方法接收消息参数,将其强制转型为合适的消息类型,同时打印出消息的内容。同时一个mail note将被发送给消息发送者,发送一个e-mail通知给由recipient参数确定的e-...

    JAVA上百实例源码以及开源项目

     在对象创建的过程中将被容器调用,onMessage函数方法接收消息参数,将其强制转型为合适的消息类型,同时打印出消息的内容。同时一个mail note将被发送给消息发送者,发送一个e-mail通知给由recipient参数确定的e-...

Global site tag (gtag.js) - Google Analytics