2017-01-17 26 views
0

Googleドキュメントシート内の特定のセル範囲からjsonデータを取得する方法を探しています。Googleスプレッドシート内の特定の範囲のセルからjsonデータを取得する

は私のspreadyこの enter image description here

のように見えると私はthis articleを読み、私のニーズに適合するように試みた

{ 
"Parts":{"target1": 230000, "target2":200000}, 
"Accessories":{"target1": 150000, "target2":100000}, 
"Stars":{"target1": 95, "target2":70}, 
"Labour":{"target1": 900, "target2":750}, 
} 

次のようにJSONオブジェクトを取得したいが、私の実験ですそうすることですべてがひどく壊れてしまった。私は、私のjsonで不要なメタデータを大量に取得するか、まったく何もしません。問題の記事は5年以上経過していると思われます。

誰でも別のアプローチを提案できますか?

答えて

1

ご覧のとおり、GoogleスプレッドシートAPIでは、実際のコンテンツよりも多くのメタデータが読み込まれたJSONが必ず返されます。必要に応じてテーブルを変換するには、スクリプトが必要です。ここでは、シート内のカスタム関数として使用できるスクリプトです:=tableJSON(A2:E4)を入力すると、希望する形式の文字列が返されます。

function tableJSON(arr) { 
    var i, j, obj = {}; 
    for (j = 1; j < arr[0].length; j++) { 
    obj[arr[0][j]] = {}; 
    } 
    for (i = 1; i < arr.length; i++) { 
    for (j = 1; j < arr[0].length; j++) { 
     obj[arr[0][j]][arr[i][0]] = arr[i][j]; 
    } 
    } 
    return JSON.stringify(obj); 
} 
関連する問題