2017-07-10 7 views
0

JSONレスポンスのループ処理を試しています。googleスクリプトでのJSON応答のループ

私たちは第三者データベースのAPIを呼び出し、最初の行(ヘッダー)を取得しましたが、すべての行をループしてからgoogleシートにコピーする必要があります。

アイデア?

答えて

0

ないあなたが受けているか、あなたがそれを処理しようとしている方法をJSONにあるものの情報にあまりにも多くの情報は、ので、ここで私の一般的な答えだ:

あなたは完全なJSONデータを受信したら、あなたが変えることができますJSON.parse(jsonString)10を使用してオブジェクトに挿入します.jsonStringは、APIから受け取ったデータです。その詳細はhereです。

行の値が配列に格納されている場合は、forEach()メソッドを使用して簡単にループすることができます。その詳細はhereです。以下は、JSONデータの例とそれを解析する関数です。

function handleJsonResponse(data) { 
    //Parse response and get sheet 
    var response = JSON.parse(data); 
    var spreadsheet= SpreadsheetApp.getActive().getSheetByName(response.name); 
    if (spreadsheet === null) { 
    //Error here 
    } 

    //Loop through data and add it to spreadsheet 
    response.rows.forEach(function(row, index) { 
    //This function will be executed for every row in the rows array 

    //Set the index of the row to the first column in the sheet 
    //2 is added to the index for the row number because index starts at 0 and we want to start adding data at row 2 
    spreadsheet.getRange(index + 2, 1).setValue(index); 

    //Set the value of string to the second column 
    spreadsheet.getRange(index + 2, 2).setValue(row.string); 

    //Set the value of number to the third column 
    spreadsheet.getRange(index + 2, 3).setValue(row.number); 

    }); 
} 

ご質問があれば

例のデータ

{ 
    "name": "Example Data", 
    "rows": [ 
    { 
     "string": "I'm a string", 
     "number": 14 
    }, 
    { 
     "string": "Chicago", 
     "number": 36 
    } 
    ] 
} 

例parse関数は、お気軽に。

+1

お返事ありがとうございます、ご迷惑をおかけして申し訳ございませんが、私はこの壁を打ち、再編成するために逃げなければなりませんでした!私はここでいくつかの助けを持っている、私は彼らがあなたのコメントをうまく活用すると確信しています。 –