2017-06-14 10 views
0

私は2つのメソッドを1つのメソッドはJSON配列の形式でデータを返します。今私はこのデータをGoogleアプリのスクリプトに書いてみたいと思います。アプリスクリプトを使用してGoogle Appスプレッドシートにjson配列データを挿入するにはどうすればよいですか?

私が手の下のコードを使用して

var noEpicListArray = new Array(); 

if(epicCount==0){ 
    var noEpicMetric = { 
    "issueKey": "No Epic", 
    "issueSummary": "NA", 
    "epicEfficiency": "NA", 
    "teamName": "NA", 
    "firstPassInd": "NA", 
    "secondPassInd": "NA", 
    "thirdPassInd": "NA", 
    "tooManyPassInd": "NA", 
    "storyCountInsideEpic": "NA" 
} 

noEpicListArray.push(noEpicMetric); 
epicWiseEpicEfficiencySheet.getRange(2, 1, 1, 9).setValues(noEpicListArray); } 
+1

Googleスプレッドシート(​​1つ以上のセル)に書き込まれるデータは、最初に2次元配列にする必要があります。各内部配列は1つの行を表し、各内部配列の各要素はその行のセルを表します。まず、JSONデータを2D配列に格納してから、 'setValues()'メソッドを使います。 JSONはさまざまな方法で構造化することができ、JSONの例は示していません。 –

+0

@SandyGood: "このスプリントのための叙事詩"、 "issueSummary": "NA"、 "epicEfficiency": "NA"、 "TEAMNAME": "NA" 私のJSONは、VAR noEpicMetric = { "issueKey" であります、 "firstPassInd": "NA"、 "secondPassInd": "NA"、 "thirdPassInd": "NA"、 "tooManyPassInd": "NA"、 "storyCountInsideEpic": "NA" 実際 } –

答えて

0

は、スプレッドシートにデータオブジェクトから値を追加するにはエラー「オブジェクトの各キーから値を抽出するために配列を変換できません。/value要素を配列に格納し、そのデータを既存のデータの末尾に追加します。JavaScriptデータオブジェクトの構造は、{"key":"value"}

です
function dataObjectToSpreadsheet(dataObject) { 
    var dataArray,k,ss,sh;//define variables without assigning a value 

    dataObject= { 
    "issueKey": "No Epic For This Sprint", 
    "issueSummary": "NA", 
    "epicEfficiency": "NA", 
    "teamName": "NA", 
    "firstPassInd": "NA", 
    "secondPassInd": "NA", 
    "thirdPassInd": "NA", 
    "tooManyPassInd": "NA", 
    "storyCountInsideEpic": "NA" 
    } 

    if (typeof dataObject === 'string') {//If the object was stringified 
    dataObject = JSON.parse(dataObject);//convert from string to object 
    } 

    ss = SpreadsheetApp.getActiveSpreadsheeet(); 
    sh = ss.getSheetByName('Put sheet tab name here'); 

    innerArray = [];//assign an empty array to the variable innerArray 

    for (k in dataObject) {//Loop through all elements of the data object 
    thisValue = dataObject[k]; 
    dataArray.push(thisValue); 
    } 

    sh.appendRow(dataArray); 
} 
+0

、私は以下の方法で試してみましたが、 "オブジェクトを配列に変換できません"というエラーが発生しました。エラーvar noEpicListArray = new Array(); IF(epicCount == 0){ VAR noEpicMetric = { "issueKey": "いいえエピック"、 "issueSummary": "NA"、 "epicEfficiency": "NA"、 "TEAMNAME":「NA 」 "firstPassInd": "NA"、 "secondPassInd": "NA"、 "thirdPassInd": "NA"、 "tooManyPassInd": "NA"、 "storyCountInsideEpic": "NA" } noEpicListArray .push(noEpicMetric); epicWiseEpicEfficiencySheet.getRange(2、1、1、9).setValues(noEpicListArray); } –

+0

これは、このSprintのEpicではなく、storyCountInsideEpic = NA、firstPassInd = NA、issueSummary = NA、thirdPassInd = NA} –

関連する問題