Google скрипт - парсинг json ответ - PullRequest
0 голосов
/ 09 марта 2020

Это ответ json (из моего поля с несколькими вариантами выбора jsfiddle ), который я пытаюсь проанализировать:

{"выбран ": правда," отключено ": ложь," текст ":" Ctr " "идентификатор": "Ctr", "название": "", "_ resultId": "выбор2-selectcountry-результат-je97-Ctr"," элемент ": {}},

{" selected ": true," disabled ": false," text ":" Title Part1 "," id ":" TitlePart1 "," title ":" ", "_resultId": "select2-selectcountry-result-uv7s-TitlePart1", "element": {}},

{"selected": false, "disabled": false, "text": "Milan" , "id": "Milan", "_ resultId": "select2-selectcountry-result-bmba-Milan", "element": {}}]

Мне нужно получить: {" id": value}, {" id": value}, {" id": value} ...

{id:Ctr},{"id":"TitlePart1"},{"id":"Milan} ...

Для достижения этого результата я использую этот код:

var response = (JSON.stringify($('#selectcountry').select2('data')) );        
var json = JSON.parse(response);
        var dataSet = json;
        var row = [],
        data;
       for(var i in json){
       data = dataSet[i];
       row.push({'id': json[i].id})
       }

   sheet.getRange(6,1).setValue(row);

Но таким образом я получаю только первый идентификатор: значение:

{id:Ctr}

Любая помощь?

Спасибо

1 Ответ

2 голосов
/ 10 марта 2020
var s='[{"selected":true,"disabled":false,"text":"Ctr","id":"Ctr","title":"","_resultId":"select2-selectcountry-result-je97-Ctr","element":{}},{"selected":true,"disabled":false,"text":"Title Part1","id":"TitlePart1","title":"","_resultId":"select2-selectcountry-result-uv7s-TitlePart1","element":{}},{"selected":false,"disabled":false,"text":"Milan","id":"Milan","_resultId":"select2-selectcountry-result-bmba-Milan","element":{}}]';

function findId() {
  var d=JSON.parse(s);
  var ids=[];
  d.forEach(function(o){
    ids.push(o.id);
  });
  Logger.log(ids);
  //Add this
  SpreadsheetApp.getActiveSheet().getRange(1,1,1,3).setValues([ids]);
}
...