function getJSON(jsonstring){
try{
var data = JSON.parse(jsonstring);
var pairs = sh.getRange('C3:C').getValues().join().split(",");
var ligne = pairs.indexOf(data.data.symbol);
if (ligne != -1){
var result=[]
result.push([ data.data.bid , data.data.ask ])
sh.getRange('D' + (ligne+3) + ':E' + (ligne+3)).setValues(result)
}
}
catch(e){
}
}
Вместо var pairs = sh.getRange('C3:C').getValues().join().split(","); var pairs = sh.getRange('C3:C').getValues().flat();
А для массива обьектов еще подскажите, можно улучшить?function getJSON2(jsonstring){ try{ var data = JSON.parse(jsonstring); var pairs = sh2.getRange('C3:C').getValues().join().split(","); var index; for (index = 0; index < pairs.length; ++index) { var lignem = data.findIndex(item => item.S === pairs[index]) if (lignem != -1){ var ligne = pairs.indexOf(pairs[index]); var result=[] result.push([ data[lignem].bp, data[lignem].ap ]) sh2.getRange('D' + (ligne+3) + ':E' + (ligne+3)).setValues(result) } } } catch(e){ } }
Я повторю то же, что и просил в соседнем чате: пример. Данных, например
Пришлите пример кода в Таблице с данными
Структура для первого парсера { "data": { "symbol": "SBER", "exchange": "MOEX", "description": "Сбербанк России ПАО ао", "ask": 303.65, "bid": 303.59, "prev_close_price": 303.7, "last_price": 303.59, "last_price_timestamp": 1620221538, "change": -0.11, "change_percent": -0.04, "high_price": 305, "low_price": 302.71, "accruedInt": 0, "volume": 38767080, "open_price": 304.01, "yield": null, "lotsize": 10, "lotvalue": 3035.9, "facevalue": 3, "type": "CS" }, "guid": "f35a2373-612c-4518-54af-72025384f59b" }
структура совершенно не соответствует приведенному скрипту, кстати
Обсуждают сегодня