<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2008/03/26/converting-an-array-of-string-objects-to-an-array-of-object-objects-in-flex/ -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        layout="vertical"
        verticalAlign="middle"
        backgroundColor="white" viewSourceURL="srcview/index.html">

    <mx:Script>
        <![CDATA[
            private var arrayOfString:Array;
            private var arrayOfObject:Array;

            private function init():void {
                arrayOfString = ["test", "test", "fork", "test"];
                arrayOfObject = stringArrayToObjectArray(arrayOfString);
            }

            private function stringArrayToObjectArray(sourceArray:Array, key:String = "label"):Array {
                var returnArray:Array = new Array();
                var idx:uint;
                var len:uint = sourceArray.length;
                for (idx=0; idx<len; idx++) {
                    var obj:Object = {};
                    obj[key] = sourceArray[idx];
                    returnArray.push(obj);
                }
                return returnArray;
            }
        ]]>
    </mx:Script>

    <mx:ApplicationControlBar dock="true">
        <mx:Button label="Array of String"
                    click="list.dataProvider = arrayOfString;" />
        <mx:Button label="Array of Object"
                    click="list.dataProvider = arrayOfObject;" />
    </mx:ApplicationControlBar>

    <mx:List id="list"
            width="100"
            rowCount="6"
            initialize="init();" />

</mx:Application>