リクエストごとに 50 件の結果を返すプレーヤー価格追跡機能を開発しており、8 件のリクエストを送信しているため、400 件の結果が返されます。
400 件すべての結果を多次元配列 (プレーヤーの評価を格納する 1 つの要素と価格を格納する別の要素が必要なため) に格納し、ある程度の機能を持たせたいと考えています。
// DEFAULT VARIABLES
Variables.binArray = arrayNew(1);
Variables.startPosition = 0;
// LOOP 8x50 TIMES = 400 CARDS
for (i=1; i <= 8; i++) {
// DO SEARCH
Variables.searchPlayer = Application.cfcs.Search.doPlayerSearch(URL.assetID,0,"",0,0,0,0,Variables.startPosition,ListLast(Session.pricingAccountPhishingKey,"="),Session.pricingAccountSessionKey);
if (Variables.searchPlayer.StatusCode EQ "200 OK") {
Variables.searchResults = DeserializeJSON(Variables.searchPlayer.FileContent);
Variables.numResults = arrayLen(Variables.searchResults.auctionInfo);
// IF MORE THAN ONE RESULT RETURNED
if (StructKeyExists(Variables,"numResults") AND Variables.numResults GT 0) {
// LOOP ROUND RESULTS
for (j=1; j<=Variables.numResults; j++) {
// SET BIN PRICE FROM LOWEST CARD
if (Variables.searchResults.auctionInfo[i].itemData.assetID EQ URL.assetID AND Variables.searchResults.auctionInfo[i].buyNowPrice GT 0 AND Variables.searchResults.auctionInfo[i].sellerName NEQ "Mendoza Juniors") {
binArray[j] = arrayNew(1);
binArray[j][1] = Variables.searchResults.auctionInfo[j].itemData.rating;
binArray[j][2] = Variables.searchResults.auctionInfo[j].buyNowPrice;
}
}
}
}
// INCREASE START POSITION
Variables.startPosition = Variables.startPosition + 50;
}
ご覧のとおり、8 つの要求を送信する初期ループがあり、各反復内に、返されたすべての結果をループして配列に追加する別のループがあります。
私の問題は、400 ではなく、最後の 50 の結果しか配列に返されないことです。
400 個の結果すべてが 1 つの配列に格納されるようにコードを修正するにはどうすればよいですか?