【发布时间】:2011-01-21 23:48:02
【问题描述】:
想知道是否有人可以提供帮助
我正在使用来自RIAForge 的一些代码,它与 Last.fm api 集成...
其中一种方法输出为结构,但我想修改代码使其输出为数组,我不确定如何执行此操作..
目前代码是这样的
<cfscript>
var args = StructNew();
var returnStruct = StructNew();
var results = "";
var i = 0;
args['playlistURL'] = arguments.playlistURL;
results = super.callMethod('playlist.fetch', args).playlist;
returnStruct['title'] = results[':title'];
returnStruct['annotation'] = results[':annotation'];
returnStruct['creator'] = results[':creator'];
returnStruct['date'] = results[':date'];
if(StructKeyExists(results, ':trackList') AND StructKeyExists(results[':trackList'], ':track')){
results = super.ensureArray(results[':trackList'][':track']);
returnStruct['tracks'] = QueryNew('album,creator,duration,identifier,image,info,title');
for(i=1; i LTE ArrayLen(results); i=i+1){
QueryAddRow(returnStruct.tracks);
QuerySetCell(returnStruct.tracks, 'album', results[i].album);
QuerySetCell(returnStruct.tracks, 'creator', results[i].creator);
QuerySetCell(returnStruct.tracks, 'duration', results[i].duration);
QuerySetCell(returnStruct.tracks, 'identifier', results[i].identifier);
QuerySetCell(returnStruct.tracks, 'image', results[i].image);
QuerySetCell(returnStruct.tracks, 'info', results[i].info);
QuerySetCell(returnStruct.tracks, 'title', results[i].title);
}
}
return returnStruct;
我只是想知道是否有一种冷融合方法可以让我将 returnStruct 转换为查询..
非常感谢
【问题讨论】:
-
你为什么不修改方法本身来返回查询(虽然我更喜欢数组)?
-
为了简洁起见,如果您要返回查询,您可能希望调用返回变量“returnQuery”而不是“returnStruct”。当他们回头看时,这肯定会让人失望。
标签: coldfusion struct