Flex 4.6 でカスタム アイテム レンダラーを作成し、JSON 形式のデータ ソースを使用する方法を試しています... 以下を使用して json データを取得すると、動作し、データに正常にアクセスできます。
myJSONdata[i].id
myJSONdata[i].username etc...
しかし、このデータを、dataGroup に割り当てられた dataProvider に対して flex が期待するデータ型 (ArrayList、ArrayCollection?) にする方法を理解するのに問題があります。
public var loader:URLLoader = new URLLoader();
public var jsonContent:URLLoader;
public var myJSONdata:Object;
public var request:URLRequest;
public function Init():void {
request = new URLRequest("URL TO THE JSON DATA...");
loader.load(request);
loader.addEventListener(Event.COMPLETE, jsonLoaded);
}
public function jsonLoaded(event:Event):void {
jsonContent = URLLoader(event.target);
myJSONdata = JSON.parse(jsonContent.data);
trace(myJSONdata.length);
}
このようにdataProviderを割り当てようとすると...
<s:DataGroup dataProvider="myJSONdata">
次のエラーが表示されます。
Initializer for 'dataProvider': values of type mx.collections.IList cannot be represented in text.
同じデータ アクセス機能を使用して、そのデータを配列として機能させ、それを dataGroup の dataProvider として使用したいと考えています。