使用 Google Apps 脚本 (WooCommerce Webhook) 获取 JSON

我有一个 WooCommerce 网上商店,它使用 webhook 将创建的订单发送到 Google 电子表格。我设法使它工作,除了一个(关键)步骤:我似乎无法正确循环遍历行项目的元数据。


在这里提供更多背景信息:它是一家销售蛋糕和馅饼等(行项目)的网上商店。一个订单可以有多个产品,每个产品可以有多个元数据。例如:产品(订单项):Cake,元数据:cake(key)size:(value)small,(key)text on cake:(value)蓝色文本,(key)蛋糕文本:“Hello World” (价值)。


我需要实现的是以下电子表格中的顺序示例(简化):


姓名、邮箱、取件日期、取件时间、取件地点、订单


Joe Deer, joe@deer.com, 10/10/2020, 10:00,Bakery,1 x Red Velvet Cake,小蛋糕,蛋糕上的蓝色文字,“Hello World”。1 x 海龟蛋糕,大蛋糕蛋糕上没有文字。


请在下面找到 JSON 对象的示例以进行概述。对象的名称是 myData,因此可以使用 myData.line_items 访问行项目。


"line_items": [

{

  "id": 61458,

  "name": "Cupcake Mix 12 stuks",

  "product_id": 627,

  "variation_id": 0,

  "quantity": 1,

  "tax_class": "gereduceerd-tarief",

  "subtotal": "27.52",

  "subtotal_tax": "2.48",

  "total": "27.52",

  "total_tax": "2.48",

  "taxes": [

    {

      "id": 2,

      "total": "2.477064",

      "subtotal": "2.477064"

    }

  ],

  "meta_data": [

    {

      "id": 540340,

      "key": "Vanilla Buttercream Cupcake",

      "value": "yes"

    },

    {

      "id": 540341,

      "key": "Vanilla Confetti Cupcake",

      "value": "yes"

    },

我(相信我)需要实现的是在循环中添加一个循环,该循环遍历 line_items 对象的 meta_data。但是,我尝试了它(使用下面的代码),但无法使其工作。


慕田峪7331174
浏览 165回答 1
1回答

宝慕林4294392

这是一个循环,它根据您提供的代码遍历 line_items 对象的 meta_data。  var lineitems="";  var decoration = "";  for (var i in myData.line_items)  {    var product_name = myData.line_items[i].name;    var itemName = myData.line_items[i].name;    var quantity = myData.line_items[i].quantity;    var metaData = myData.line_items[i].meta_data;     for (var j in metaData)      {       for (var key in metaData[j])       {         var decorationitems = "Item: " + key + " Optie: " + metaData[j][key] + '\n';         decoration = decoration + decorationitems;        }     }    var product_items = quantity + " x " + itemName + '\n' + decoration + '\n';      lineitems = lineitems + product_items;  }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript