遍历或者复制一个as 对象所有的属性,可以模仿java使用反射机制,通过对应的get set方法来遍历,这样的方式比较麻烦。
flex提供了一个工具类ObjectUtil在包mx.uitils.ObjectUtil中来简化这些操作。比如java服务器段的map 有三个键值对 k,v数据机构如下:
java map
K1,V1
K2,V2
K3,V3
那么返回给Flex则对应一个flex Object,map的三个键值对分别为Object的三个属性结构如下:
flex object
{
k1:v1,
k2:v2,
k3:v3
}
那么在调用ObjectUitl.getClassInfo()方法会返回以下数据结构对象。
objInfo:Object = mx.uitils.ObjectUtil.getClassInfo(flexObj:Object)
./objInfo:Object
--[properties]:Array
--[QName
--[qlocalName:k1]
--]
--[QName
--[qlocalName:k2]
--]
--[QName
--[qlocalName:k3]
--]
用以下代码即可遍历所以属性,也可以据此实现对象的复制创建。
var objInfo:Object = ObjectUtil.getClassInfo(flexObj);
var fieldName:Array = objInfo["properties"] as Array;
for each(var q:QName in fieldName){
//q.localName 属性名称,value对应的值
var value:String = flexObj[q.localName] as String;
}
分享到:
相关推荐
这通常涉及遍历数据集,将每个对象的属性或值转化为逗号分隔的字符串。 4. **编码与换行**:确保正确处理特殊字符和换行符。CSV文件通常使用UTF-8编码,每个记录(行)应以换行符(\n)结尾。 5. **MXML组件**:`CSV...
2. **创建JSON对象**:如果你需要创建JSON对象,你可以使用`ObjectUtil.toString()`方法将ActionScript对象转换为JSON字符串,或者使用`flash.utils.parseJSON()`来从JSON字符串创建ActionScript对象。 3. **解析...
Flex 中可以使用`ObjectUtil.toString()`和`ObjectUtil.toObject()`进行序列化和反序列化,JavaScript 通常使用JSON.stringify()和JSON.parse()。 3. **示例应用**: - 一个简单的例子可能包括一个Flex组件,该...
例如,你可以使用`new XML(xmlString)`来实例化一个XML对象,然后通过属性和方法如`.attributes`、`.child()`、`.descendants()`等来访问和修改XML数据。 2. **JSON支持**:Flex也内置了对JSON的支持,通过`flash....
在Flex中,由于Flash Player并不支持传统的`sleep`函数,因此需要使用`flash.utils.setTimeout`函数来实现延迟执行的功能。这个函数允许开发者在指定的毫秒数后执行一个函数。例如,如果要让一个函数在两秒后执行,...
首先,`ObjectUtil`通常是一个针对`java.lang.Object`类的扩展,提供了对对象操作的便利方法。在Java中,`Object`是所有类的基类,它定义了一些基本的方法,如`equals()`、`hashCode()`和`toString()`。`ObjectUtil`...
在Flex 4中,`DataGrid` 是一种用于展示数据表格的组件,它允许开发者以网格形式展示数据。在处理日期字段时,我们可能需要将日期格式化为特定的样式以便用户更容易理解。本篇文章将深入讲解如何在Flex 4的`DataGrid...
Flex提供了`JSONUtil`类(在AS3中)和`mx.rpc.json.util.JSONUtil`(在Flex框架中)来处理JSON数据的序列化和反序列化。 经典案例:Flex通过使用HTTPService或WebService组件进行远程调用,可以与后端服务器进行...
通过遍历这些PropertyDescriptor,可以找到对应的setter方法(writeMethod),然后使用`invoke()`方法调用这些setter方法,从而将请求参数值赋给对象的相应属性。 #### 3. **处理请求参数** `request.getParameter...
然而,`ObjectUtil`组件因其特定的功能——单例模式的实现,其静态属性带来的便利性超过了潜在的问题。如需了解更多关于静态类的优缺点,可以参考文章《PHP静态类的原罪详解》。 总结来说,`ObjectUtil`组件是Lotus...
`ObjectUtil`类是Agile框架中用于处理和操作Java对象的工具类,它的设计灵感来自于实际开发中的常见需求,如对象之间的转换、属性映射等。`ObjectUtil.to`方法是这个类的一个核心特性,它能够将一个对象转换为另一种...
资源内容:工欲善其事必先利其器,本资源内容为Java开发常用工具类打包,如BeanUtil,ArrayUtil,HtmlUtil,ClassUtil,DateUtil,FileUtil,...XmlUtil,UrlUtil,StringUtil,ObjectUtil等等共31个常用开发工具类。
6. **Flex和ActionScript**:在Flex和ActionScript开发中,`flash.utils.parseJSON()`和`ObjectUtil.toString()`方法分别用于JSON解析和对象转JSON字符串。 7. **jQuery的$.getJSON()和$.ajax()**:在Web开发中,...
- **`objectToBytes(Object obj)`**:此方法接收一个 Java 对象作为参数,并返回其对应的字节数组。具体实现是通过 `ByteArrayOutputStream` 和 `ObjectOutputStream` 来完成对象的序列化过程。 ##### 4.2 Redis ...
通常,`equals`方法在类中被重写以实现特定的比较逻辑,因为默认的`equals`行为(即`Object`类中的实现)仅仅基于引用的相等性,即比较两个对象是否是同一个内存位置上的实例。本文将深入探讨`equals`方法的使用方法...
### Windchill 获取固定产品库下所有Part及工程图 #### 概述 Windchill作为全球领先的产品生命周期管理(PLM)软件之一,在企业级信息化管理中扮演着至关重要的角色。通过Windchill,企业可以实现对产品设计、开发...
public class ObjectUtil { //public static Object request2Obj(HttpServletRequest request, Class clazz) { public static Object request2Obj(Request request, Class clazz) { try { Object obj = clazz...
if (ObjectUtil.isNotEmpty(maxLat)&&ObjectUtil.isNotEmpty(minLat)){ sqlParamList.add(new SqlParam("lat",minLat, SqlOpEnum.GE)); sqlParamList.add(new SqlParam("lat",maxLat, SqlOpEnum.LTE)); } Pair,...
最后,`ObjectUtil`工具类通常包含一些通用的面向对象的辅助方法,例如,`equals()`和`hashCode()`的实现可以帮助我们快速比较两个对象是否相等,`clone()`可以实现对象的浅拷贝或深拷贝,`isNull()`和`isNotNull()`...