Javascript 访问嵌套JSON对象

Javascript 访问嵌套JSON对象,javascript,arrays,object,Javascript,Arrays,Object,这个问题已经被回答了很多次,但由于某些该死的原因,我不能让它在我的案件中起作用 我正在解析以太坊区块链,并得到一个结果,我将其存储在状态为this.state.eventData 数据如下所示: [ [{ "logIndex": 0, "transactionIndex": 0, "transactionHash": "0xec912b5811f72b9e821fd62f7c79e45c09c641bb9bf4fff

这个问题已经被回答了很多次,但由于某些该死的原因,我不能让它在我的案件中起作用

我正在解析以太坊区块链,并得到一个结果,我将其存储在状态为
this.state.eventData

数据如下所示:

[
    [{
            "logIndex": 0,
            "transactionIndex": 0,
            "transactionHash": "0xec912b5811f72b9e821fd62f7c79e45c09c641bb9bf4fff3be9e4997be27cd76",
            "blockHash": "0x84f988d6611ba75e8321e20abf23620d68efb0ff721b85447b8072cd5ff07525",
            "blockNumber": 16,
            "address": "0x985b025b6baa40c6d5c7247f4d608efdfc24b81b",
            "type": "mined",
            "event": "EventOne",
            "args": {
                "paramOne": "0x6a7a88d1f9f6250e1115d05a0489e584d0a0c7c0",
                "paramTwo": "90",
                "paramThree": "2",
                "paramFour": "479",
                "paramFive": "110123595505617976",
                "paramSix": "1",
                "paramSeven": true
            }
        },
        {
            "logIndex": 0,
            "transactionIndex": 0,
            "transactionHash": "0x776ecfd9a1efe0a0d399a4a3d56f2121d5305e4d3219c13ca4e960bcdcce460c",
            "blockHash": "0x109907689e47d96a61bffc0ec4eac5cf4295361d57c9a25fe53aa68e1412eadc",
            "blockNumber": 18,
            "address": "0x985b025b6baa40c6d5c7247f4d608efdfc24b81b",
            "type": "mined",
            "event": "EventOne",
            "args": {
                "paramOne": "0x6a7a88d1f9f6250e1115d05a0489e584d0a0c7c0",
                "paramTwo": "90",
                "paramThree": "17",
                "paramFour": "480",
                "paramFive": "110123595505617976",
                "paramSix": "2",
                "paramSeven": true
            }
        }
    ]
]
我通过console.log(eventData)获得了这些数据,然后从Chrome控制台复制对象。
在这里输入code

我只想得到,比如说,每个对象的
paramOne
。当我试图简单地
console.log(this.state.eventData[[0].args])
时,我得到了一个未定义的错误


我非常感谢您在这场斗争中的帮助。

要检索所有这些,您可以使用
this.state.eventData[0]
数组上的
map

this.state.eventData[0].map(event => event.args.paramOne)
// ["0x6a7a88d1f9f6250e1115d05a0489e584d0a0c7c0", "0x6a7a88d1f9f6250e1115d05a0489e584d0a0c7c0"]

好。。。你得到了一个数组中的一个数组。因此,在尝试访问args属性之前,至少需要两个单独的索引
foo[x][y].args
那么是否为this.state.eventData[0][0].args?我已经尝试过了,但它仍然会给我一个错误。是的,但我无法保证在填充此.state.eventData之后您正在访问它。我猜您访问它的时间太快了。我是console.logging this.state.eventData,它会在控制台中显示已填充的对象,但当我通过添加这些参数更改console.log()的值时,它会给我一个未定义的错误。因为控制台具有此功能,如果您将console.log对象或数组,它不会检查对象或数组,直到您在控制台中单击以展开它。在展开时,它会查看数组或对象的内容并将其显示给您。例如,如果您改为记录数组的长度,您会发现在该时间点它实际上是0,而不是1。