Ошибка типа: не удается прочитать свойство ‘markets’ неопределенного значения (строка 23)

#mon&odb #api #&oo&le-apps-script

#mon&odb #API #&oo&le-apps-script

Вопрос:

Ошибка типа: не удается прочитать свойство ‘markets’ неопределенного значения (строка 23)

Я использую ту же базу данных, ничего не трогая в течение 6 месяцев, она никогда не давала сбоев, сегодня начала появляться эта ошибка, и я пытался найти ошибку, но я не могу найти ошибку при сборе данных.

Вот основа, на основе которой я собираю значения (вы можете получить доступ к карте данных, нажав на ссылку):
https://webhooks.mon&odb-stitch.com/api/client/v2.0/app/oddsbf-dvyne/service/http/incomin&_webhook/webhook0

Вот скрипт, который я использую:

   const response = UrlFetchApp.fetch("https://webhooks.mon&odb-stitch.com/api/client/v2.0/app/oddsbf-dvyne/service/http/incomin&_webhook/webhook0");
  const mon&o_matches = JSON.parse(response.&etContentText());
  const matches = mon&o_matches.map(function(match) {
    var over = '-'
    var under = '-'
    if(match['markets']['over_25'] !== undefined amp;amp; 
       match['markets']['over_25']['over']['odds'] !== undefined amp;amp; 
       (match['markets']['over_25']['over']['odds']['availableToBack'].len&th &&t; 0 amp;amp;
         match['markets']['over_25']['under']['odds']['availableToBack'].len&th &&t; 0 )){
      over = match['markets']['over_25']['over']['odds']['availableToBack'][0] !== undefined ? match['markets']['over_25']['over']['odds']['availableToBack'][0]['price']['$numberDouble'] : match['markets']['over_25']['over']['odds']['availableToLay'][0]['price']['$numberDouble']
      under = match['markets']['over_25']['under']['odds']['availableToBack'][0] !== undefined ? match['markets']['over_25']['under']['odds']['availableToBack'][0]['price']['$numberDouble'] : match['markets']['over_25']['under']['odds']['availableToLay'][0]['price']['$numberDouble']
    }
    return [
      match['markets']['marketStartTime'],
      match['markets']['lastSaved'],
      match['markets']['competition'],
      match['markets']['homeTeam']['runnerName'],
      match['markets']['awayTeam']['runnerName'],
      match['markets']['homeTeam']['odds']['availableToBack'][0] !== undefined ? match['markets']['homeTeam']['odds']['availableToBack'][0]['price']['$numberDouble'] : match['markets']['homeTeam']['odds']['availableToLay'][0]['price']['$numberDouble'],
        match['markets']['awayTeam']['odds']['availableToBack'][0] !== undefined ? match['markets']['awayTeam']['odds']['availableToBack'][0]['price']['$numberDouble'] : match['markets']['awayTeam']['odds']['availableToLay'][0]['price']['$numberDouble'],
          match['markets']['draw']['odds']['availableToBack'][0] !== undefined ? match['markets']['draw']['odds']['availableToBack'][0]['price']['$numberDouble'] : match['draw']['markets']['odds']['availableToLay'][0]['price']['$numberDouble'],
            under,
              over,
                ]; 
  });
  

Строка 23, которая выдает ошибку, является этой:

           match['markets']['draw']['odds']['availableToBack'][0] !== undefined ? match['markets']['draw']['odds']['availableToBack'][0]['price']['$numberDouble'] : match['draw']['markets']['odds']['availableToLay'][0]['price']['$numberDouble'],
  

Ответ №1:

Замените строку 23 на это:

 match['markets']['draw']['odds']['availableToBack'][0] !== undefined ? match['markets']['draw']['odds']['availableToBack'][0]['price']['$numberDouble'] : match['markets']['draw']['odds']['availableToLay'][0]['price']['$numberDouble'],
  

Обновить:

 Lo&&er.lo&(mon&o_matches['draw'])
Lo&&er.lo&(mon&o_matches['matches'])
  

оба возвращают значение null. Это означает, что вы не можете получить доступ к информации из нулевого объекта.

Комментарии:

1. Мат… Я выполнил тест, как вы указали, и он вернулся к идеальной работе!