Как проанализировать json данные, представленные в ячейке листа Google, как форму данных - PullRequest
0 голосов
/ 03 мая 2020

Как проанализировать json данные, присутствующие в ячейке листа Google, как форму данных.

Я экспортировал файл CSV, в котором один из столбцов содержит данные формы в формате json. Я скопировал этот файл в Google лист, как я могу проанализировать данные этого столбца c, который содержит данные в формате json.

например,

Данные в одной из ячеек выглядит вот так

"utf8":"\u2713",
   "authenticity_token":"[object Object]",
   "task_id":"21",
   "number_input_ACB70B69-6E86-420E-AAB4-263A335795DE":"33",
   "text_input_3ABA1E2D-9726-4B9C-9EAB-85E5D93BE47B":"volunteer at aNGO",
   "text_input_0A5BE0C2-0745-40C8-831B-5FDDE49B5353":"B.architecture",
   "text_area_3FE1D3FE-FC9E-4370-90F2-3D86C4DA2243":"A little knowledge on classical dance"

Мне просто нужно четыре поля данных сверху:

  1. ввод текста - 33
  2. ввод текста - доброволец на AN GO
  3. ввод текста - B.архитектура
  4. область текста - немного знаний о классическом танце

1 Ответ

0 голосов
/ 04 мая 2020

Apps Script использует версию Javascript, поэтому вы можете получить ключ из JSON, например:

json.key или json["key"]

Проблема с вашим json в ячейке заключается в том, что в нем отсутствуют начальные и конечные скобки { и }, поэтому для того, чтобы это работало, вам необходимо добавить их. В противном случае он не будет считаться объектом JSON, а будет обычной строкой. Это должно выглядеть следующим образом:

{"utf8":"\u2713",
   "authenticity_token":"[object Object]",
   "task_id":"21",
   "number_input_ACB70B69-6E86-420E-AAB4-263A335795DE":"33",
   "text_input_3ABA1E2D-9726-4B9C-9EAB-85E5D93BE47B":"volunteer at aNGO",
   "text_input_0A5BE0C2-0745-40C8-831B-5FDDE49B5353":"B.architecture",
   "text_area_3FE1D3FE-FC9E-4370-90F2-3D86C4DA2243":"A little knowledge on classical dance"}

Получит значение ключей для записи их в 4 отдельных столбца:

function main(){


  var sprsheet = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = sprsheet.getSheetByName("Your sheet name");

  var string = sheet.getRange("A1").getValue(); //The cell with the json

  var json = JSON.parse(string); //Converts the string to JSON object


  sheet.getRange("B1:E1").setValues([[json["number_input_ACB70B69-6E86-420E-AAB4-263A335795DE"], json["text_input_3ABA1E2D-9726-4B9C-9EAB-85E5D93BE47B"], json["text_input_0A5BE0C2-0745-40C8-831B-5FDDE49B5353"], json["text_area_3FE1D3FE-FC9E-4370-90F2-3D86C4DA2243"]]]);


}

Ссылки:

...