Набор значений ответа веб-службы, дающий Ljava.lang.Объект;@ в электронной таблице

#web-services #google-apps-script #google-sheets

#веб-сервисы #google-apps-script #google-sheets

Вопрос:

Я вызываю веб-службу. Я получаю ответ, который при входе в регистратор совершенно разборчив. При вставке в электронную таблицу я получаю Ljava.lang.Объект;@ в ячейке. Что мне нужно сделать, чтобы данные в объекте отображались правильно?

 function getRoomAvailability(){
 ...

  var response = UrlFetchApp.fetch(url, headers);
  var data = JSON.parse(response.getContentText());
  Logger.log(response);
  Logger.log(data);
  ss.getSheetByName("Room").getRange(1,1,1,1).setValues([data]);
}
  

В журнале я вижу следующее:

[19-04-14 22:33:31:507 BST] [{"room_id":1,"room_availability":[{"date":"2019-04-20","available":"Yes"},{"date":"2019-04-21","available":"Yes"},{"date":"2019-04-22","available":"No"},{"date":"2019-04-23","available":"Yes"},{"date":"2019-04-24","available":"Yes"},{"date":"2019-04-25","available":"Yes"}]}]

[19-04-14 22:33:31:507 BST] [{room_id=1, room_availability=[{date=2019-04-20, available=Yes}, {date=2019-04-21, available=Yes}, {date=2019-04-22, available=No}, {date=2019-04-23, available=Yes}, {date=2019-04-24, available=Yes}, {date=2019-04-25, available=Yes}]}]

В электронной таблице я вижу

{room_id=1, room_availability=[Ljava.lang.Object;@676b6111}

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

1. setValues принимает 2D-массив. Когда встречается другой массив внутри 2D-массива, он преобразуется в этот объект Java. Почему бы и нет setValue(response) ?

2. Спасибо мастеру. У меня есть около 1000 ответов (в for цикле), поэтому я помещал их в массив, чтобы избежать многократных setValue() вызовов. Есть ли простой способ разделить массивы?

3. Это другой вопрос. Было бы лучше задать новый вопрос.