使用JSON数组访问数据

时间:2019-02-07 13:55:10

标签: json

我有一些JSON,如下所示(它存储在一个名为message的变量中)。我正在尝试访问此层次结构的最后一个json对象值-set_attributes-> row。到目前为止,我该如何做?message [message.length] .set_attributes.row无效。我正在使用node.js

[
    {
        "title":"Carib",
        "buttons":
        [
            {
                "type":"show_block",
                "title":"Add to Cart",
                "block_names":["[\"Add to Cart\"]"]
            },
            {
                "type":"show_block",
                "title":"More Info",
                "block_names":["[\"Add to Cart\"]"]
            }
        ],
        "subtitle":"10 | beer | 10000",
        "image_url":"url",
        "set_attributes":{"row":"23"}
    },
    {
        "title":"Stag",
        "buttons":
        [
            {
                "type":"show_block",
                "title":"Add to Cart",
                "block_names":["[\"Add to Cart\"]"]
            },
            {
                "type":"show_block",
                "title":"More Info",
                "block_names":["[\"Add to Cart\"]"]
            }
        ],
        "subtitle":"10 | beer | 10000",
        "image_url":"url",
        "set_attributes":{"row":"24"}
    }
]

1 个答案:

答案 0 :(得分:0)

容易犯错误,但是我认为您实际上应该尝试访问message[message.length-1]而不是message[message.length]-这是因为索引从0开始而不是1,因此最大索引将是元素数量后面的一个......您当前的代码将尝试访问一个不存在的元素,因为指针将超出范围(比最后一个元素大1)

尝试进行此更改:)

谢谢, 迈克尔