Как насчет этого обходного пути?
Причина проблемы:
Когда я увидел URL-адрес https://eddb.io/archive/v6/bodies_recently.jsonl
, я заметил, что расширение файла jsonl
.Поэтому, когда я проверил значения, извлеченные из https://eddb.io/archive/v6/bodies_recently.jsonl
, оказалось, что это были строки JSON.Это уже упоминалось в комментарии Dimu Designs .Также я могу подтвердить, что в официальном документе говорится, что bodies_recently.jsonl
- это JSON с разделителями строк.
Обходной путь:
К сожалению, ImportJSON не может напрямую анализировать значения строк JSON.Поэтому необходимо изменить сценарий в качестве обходного пути.В вашей общей электронной таблице сценарий ImportJSON помещается как связанный с контейнером сценарий.В этой модификации я модифицировал скрипт.Пожалуйста, измените его следующим образом.
From:
Следующая функция может быть видна в строке 130 - 135 в вашем редакторе сценариев.
function ImportJSONAdvanced(url, query, options, includeFunc, transformFunc) {
var jsondata = UrlFetchApp.fetch(url);
var object = JSON.parse(jsondata.getContentText());
return parseJSONObject_(object, query, options, includeFunc, transformFunc);
}
To:
Пожалуйста, замените вышеуказанную функцию на следующий скрипт и сохраните скрипт.Затем, пожалуйста, поместите =ImportJSON("https://eddb.io/archive/v6/bodies_recently.jsonl", "/id")
в ячейку, снова.
function ImportJSONAdvanced(url, query, options, includeFunc, transformFunc) {
var jsondata = UrlFetchApp.fetch(url);
var object = jsondata.getContentText().match(/{[\w\s\S].+}/g).map(function(e) {return JSON.parse(e)}); // Modified
return parseJSONObject_(object, query, options, includeFunc, transformFunc);
}
Результат:
![enter image description here](https://i.stack.imgur.com/eARyT.png)
Примечание:
- Хотя этот модифицированный скрипт работает для значений из
https://eddb.io/archive/v6/bodies_recently.jsonl
, я не уверен, работает ли этот модифицированный скрипт для всех значений строк JSON.Я прошу прощения за это.
Ссылки:
Если я неправильно понял ваш вопрос, и это был не тот результат, которого вы хотите, прошу прощения.