使用 Javascript 从 Woocommerce JSON webhook 中提取嵌套对象

Extract nested objects from Woocommerce JSON webhook using Javascript

我正在尝试从 Woocommerce webhook 访问嵌套在 "meta_data" 数组中的第三个对象以访问以下属性:

"value": "FEB-ID-75250",
"label": "Landscape JPG"

我可以用

得到数组中 returns "Option One" 的第一个对象

event.line_items[0].meta_data[0].value 但我不确定如何以与使用 [1]

访问数组类似的方式获取对象

我可以通过以下方式轻松访问电子邮件和订单号

var orderNumber = event.number;

var clientEmail = event.billing.email;

如何访问数组中的第三个对象并获取其属性?

{
    "customer_note": "",
    "billing": {
    "email": "mail@example.com"
    },
    "cart_hash": "f4bf32719d056bac6d6442ed6598cc9d",
    "meta_data": [
    {
        "id": 812,
        "key": "_wcj_order_number",
        "value": "2012371633"
    }
    ],
    "line_items": [
    {
        "id": 7,
        "meta_data": [
        {
            "id": 70,
            "key": "Options",
            "value": "Option One"
        },
        {
            "id": 71,
            "key": "File Upload",
            "value": "mountain.jpg | https://example.com/uploads/130463-mountain.jpg | (£0.00)"
        },
        {
            "id": 72,
            "key": "_WC_order_meta_data",
            "value": [
            {
                "type": "select",
                "name": "select-1555526171583",
                "label": "Options",
                "value": {
                "2": {
                    "i": 2,
                    "value": "FEB-ID-75250",
                    "label": "Landscape JPG"
                }
                },
                "is_fee": false,
                "form_data": {
                "type": "select",
                "form_rules": {
                    "pric_cal_option_once": false,
                    "pric_use_as_fee": false,
                    "fee_label": "Fee",
                    "render_after_acb": false,
                    "disp_hide_options_price": false
                }
                },
                "meta_id": 70
            },
            {
                "label": "File Upload",
                "value": {
                "file_name": "mountain.jpg"
                },
                "is_fee": false,
                "price": 0.0001,
                "quanity_depend": false,
                "form_data": {
                "type": "file",
                "elementId": "wc-file-1549637467462",
                "label": "File Upload",
                "enablePrice": true,
                "pricingType": "multiply",
                "price": "0.0001",
                "ajax_upload": true,
                "name": "file-1549637467462",
                "custom_style": true,
                "cl_rule": "show",
                "col": 6,
                "form_id": 63,
                "form_rules": {
                    "pric_cal_option_once": false,
                    "pric_use_as_fee": false,
                    "fee_label": "Fee",
                    "render_after_acb": false,
                    "disp_hide_options_price": false
                }
                },
                "meta_id": 71
            }
            ]
        }
        ],
        "sku": "",
        "price": 0.0002
    }
    ],
    "tax_lines": [],
    "shipping_lines": [],
    "fee_lines": [],
    "coupon_lines": [],
    "refunds": []
}

这 link 是我正在寻找的东西类型,但我有点迷失了它

https://medium.com/javascript-inside/safely-accessing-deeply-nested-values-in-javascript-99bf72a0855a

这是下面的答案,我认为 meta_data[0] 引用了一个数组(唯一存在的数组)但它实际上使用了对象

event.line_items[0].meta_data[1].value[0].value[0].value