最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

使用Javascript检索具有更改名称的嵌套对象的值

运维笔记admin11浏览0评论

使用Javascript检索具有更改名称的嵌套对象的值

使用Javascript检索具有更改名称的嵌套对象的值

我无法从Woocommerce webhook中的对象列表中获取值。 Woocommerce输入所选下拉列表的订单号(即.Royal Mail在下拉列表中排名第5,USPS为第3)所以我需要能够在任何值时访问它。

var labelchoice = event.line_items[0].meta_data[1].value[0].label; // SUCCESS This returns "Custom"
var labelchoice1 = event.line_items[0].meta_data[1].value[0].value[0].value.5.value; // FAILED with "Unexpected Number"
var labelchoice2 = event.line_items[0].meta_data[1].value[0].value.value.5.value; // FAILED with "Unexpected Number"
var labelchoice3 = event.line_items[0].meta_data[1].value[0].value[0].value[0].5.value; // FAILED with "Unexpected Number"
var labelchoice4 = event.line_items[0].meta_data[1].value[0].value[0].value[0].5[0].value; // FAILED with "Unexpected Number"

引用的数字“5”是产品页面上的下拉选项(有8个选项,例如USPS,Airmail等)的编号。这里的问题是我不知道将选择什么号码(客户选择的下拉列表),因此“5”对象可能需要被引用为通配符,因为它可以是1-8中的任何数字。

任何人都可以帮我抓住嵌套的“标签”值吗? - 在示例中显示为“皇家邮政”

"meta_data": [
    {
    "id": 166,
    "key": "Dropdown options",
    "value": "Custom"
    },
    {
    "id": 167,
    "key": "_WCPA_order_meta_data",
    "value": [
        {
        "type": "select",
        "name": "select-1549626172813",
        "label": "Custom",
        "value": {
            "5": {
            "i": 5,
            "value": "UK-RM",
            "label": "Royal Mail"
            }
        },
回答如下:

如果属性名称(5)未知,可以查询:

var labelchoiceX = event.line_items[0].meta_data[1].value[0].value[
  Object.keys(event.line_items[0].meta_data[1].value[0].value)[0]
].label;
发布评论

评论列表(0)

  1. 暂无评论