在Flex应用程序中,我试图将Object转换为QueryString,例如name1 = value1& name2 = value2 ......但是我无法获取Objects子项的名称。如何枚举名称而不是值?
由于
答案 0 :(得分:3)
我猜你正在进行for each(in)
循环。只需执行一个正常的for(in)
循环,您就可以得到名称而不是值:
for(var name:String in obj) {
var value:* = obj[name];
// do whatever you need
}
答案 1 :(得分:1)
好的,首先,如果您需要查询字符串来实际查询服务器,您实际上并不需要自己获取它,因为此代码将为您查询服务器
protected function callSerivce():void
{
var o:Object = new Object();
o.action = "loadBogusData";
o.val1 = "dsadasd";
service.send(o);
}
<mx:HTTPService id="service" url="http://www.somewhere.com/file.php" method="GET" showBusyCursor="true"/>
将像这样调用服务器:http://www.somewhere.com/file.php?action=loadBogusData&val1=dsadasd
但是如果您真的想要手动分析对象,请尝试使用ObjectUtil.getClassInfo,它会返回很多信息,包括所有字段(在LiveDocs上阅读更多内容)。