Я получаю следующий объект с функцией из надстройки электронных таблиц с помощью скрипта Google Apps:
Функция:
function collectAllData(){
var sheet = SpreadsheetApp.openById(SHEET_ID).getSheetByName(DATA);
var fileData = sheet.getDataRange().getValues();
Logger.log(fileData);
return fileData;
}
ОбъектПолучено:
[[File ID 1, File Name 1, File Type 1, File Category 1, File Image 1, File Description 1], [File ID 2, File Name 2, File Type 2, File Category 2, File Image 2, File Description 2], ...]
Мне нужно преобразовать этот объект в следующий объект в моем HTML-шаблоне
<script>
try {
var file_data = ({
'File ID 1':{
id:"File ID 1",
name:"File Name 1",
type:"File Type 1"
cat:"File Category 1",
desc:"File Description 1",
img:"File Image 1"
},
'File ID 2':{
id:"File ID 2",
name:"File Name 2",
type:"File Type 2"
cat:"File Category 2",
desc:"File Description 2",
img:"File Image 2"
}
});
} catch(e) {
var file_data = null;
}
</script>
Есть ли какой-нибудь правильный способ сделать это в моем Code.gs
и затем передаю его в template.html
?
Я сейчас строю это в своем template.html
, но я уверен, что есть более эффективные способы сделать это.Кроме того, я постоянно получаю следующую ошибку: SyntaxError: missing } after property list
вот мой текущий код из моего template.html
<script>
try {
var file_data = ({
<? for (var i=1; i<fileData.length; i++){
var x = i < fileData.length-1 ? ',' : ''; ?>
'<?!= fileData[i][8] ?>':{
id:"<?!= fileData[i][8] ?>",
title:"<?!= fileData[i][0] ?>",
ext:"<?!= fileData[i][1] ?>",
cat:"<?!= fileData[i][2] ?>",
cost:"<?!= fileData[i][3] ?>",
desc:'<?!= fileData[i][4] ?>',
img:"<?!= fileData[i][5] ?>",
url:"<?!= fileData[i][6] ?>",
status:"<?!= fileData[i][7] ?>"
}<?!= x;
}?>
});
} catch(err) {
var file_data = null;
}
</script>