Get key/value from Flex Object

Ok, so we got a Flex object, let's suppose it's a map object, how could we retrieve the key/value from it?
//retrieve keys
for (var key:String in obj) 
{
   trace(key);
}

//retrieve values
for each(var value:String in obj) 
{
   trace(value);
}

The for..in loop iterates through the properties of an object, or the elements of an array. For example, you can use a for..in loop to iterate through the properties of a generic object (object properties are not kept in any particular order, so properties may appear in a seemingly random order):

The for each..in loop iterates through the items of a collection, which can be tags in an XML or XMLList object, the values held by object properties, or the elements of an array. For example, as the following excerpt shows, you can use a for each..in loop to iterate through the properties of a generic object, but unlike the for..in loop, the iterator variable in a for each..in loop contains the value held by the property instead of the name of the property: