Я новичок в JSON и концепциях. Я хочу извлечь данные из API, который я упомянул ниже, в основном я хочу извлечь из этого API несколько деталей об акциях. Проблема здесь в том, что после разбора URL-адреса я не знаю, как извлечь значение для каждой переменной.
Я хочу извлечь данные в GoogleSheet.
вывод приведенной ниже функции показывает, как это
[20-12-10 20:45:15:806 CET] [{символ=JMIA, цена=37,0497, объем=1,317713E7}]
Результат, который я хотел, таков:
ЮМИА
37.0497
1.317713E7
Код :
function CurrentPrice() {
var url = 'https://financialmodelingprep.com/api/v3/quote-short/JMIA?
apikey=7c2f5bcb573b33050c1aad41a54919';
var response = UrlFetchApp.fetch(url);
// convert json string to json object
var jsonSignal = JSON.parse(response);
Logger.log(jsonSignal);
}
Я предлагаю вам прочитать эту статью «Работа с объектами».
Ответ заключен в квадратные скобки []
, что означает, что это массив . Я предполагаю, что вы ожидаете только один ответ, поэтому вы можете получить этот первый элемент, используя jsonSignal[0]
, который даст вам объект.
Чтобы получить свойство объекта, вы должны указать имя свойства, используя запись через точку или скобки. (Я буду использовать точечную нотацию.)
const jsonSignal = [{symbol:'JMIA', price:37.0497, volume:1.317713E7}];
console.info(jsonSignal[0].symbol); // 'JMIA'
function CurrentPrice() {
const url = 'https://financialmodelingprep.com/api/v3/quote-short/JMIA?apikey=API_KEY';
const response = UrlFetchApp.fetch(url);
// Convert HTTPResponse
// Use the first element in the response array
const signal = JSON.parse(response)[0];
console.info(signal.symbol); // 'JMIA'
console.info(signal.price); // 37.0497
console.info(signal.volume); // 1.317713E7
}
Попробуйте так:
var json = response.getContentText();
var data = JSON.parse(json);
Logger.log(data);
Я прочитал это там: https://developers.google.com/apps-script/guides/services/external
С уважением