簡體   English   中英

如何使用 Google 表格應用程序腳本將 JSON 中的子字段添加到 Google 表格中

[英]How to add a sub-field from JSON into Google Sheets using Google Sheets app script

function import_inventory_test(e) {
  var options = {
    "method": "GET",
    "headers": {
      'Content-Type': 'application/json',
      'Prefer': 'code=200',
      'Prefer': 'dynamic=true',
      "clientId": "1",
      "key": "1",
        }
      }
      var text = UrlFetchApp.fetch("https://stoplight.io/mocks/flowhub/public-developer-portal/24055485/v0/inventory?max=100", options).getContentText();
      var json = JSON.parse(text);
    
  
   var values = json.data.map(({ sku, quantity, productName, brand }) => [sku, quantity, productName, brand]);
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1"); // Please set your sheet name.
sheet.getRange(1, 1, values.length, values[0].length).setValues(values);
  1. 如何將“weightTierInformation”下的“gramAmount”添加到“json.data.map”:
     "weightTierInformation": [
        {
          "name": "string",
          "gramAmount": 0,
          "pricePerUnitInMinorUnits": 0
        }   ]

  1. 如何將字段名稱存儲在“var”中,這樣我就不必將它們寫在兩個不同的位置? X=>X

在您的情況下,以下修改如何?

從:

var values = json.data.map(({ sku, quantity, productName, brand }) => [sku, quantity, productName, brand]);

到:

在這種情況下,所有行都由sku, quantity, productName, brand, gramAmount填充。

var values = json.data.flatMap(({ sku, quantity, productName, brand, weightTierInformation }) =>
  weightTierInformation.map(({gramAmount}) => [sku, quantity, productName, brand, gramAmount])
);

或者,在以下情況下,每個第一行都有sku, quantity, productName, brand, gramAmount ,其他行有null, null, null, null, gramAmount

var values = json.data.flatMap(({ sku, quantity, productName, brand, weightTierInformation }) =>
  weightTierInformation.map(({gramAmount}, j) => j == 0 ? [sku, quantity, productName, brand, gramAmount] : [...Array(4).fill(null), gramAmount])
);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM