【问题标题】:Read a value from JSON array in Node .js从 Node .js 中的 JSON 数组中读取一个值
【发布时间】:2013-07-21 14:10:38
【问题描述】:

我需要从以下数组中访问“状态”值 --

data =   
{ 
    Images:
    [ 
        {
            ProductCodes: [],
            BlockDeviceMappings: [Object],
            Tags: [],
            ImageId: 'ami-75301c',
            ImageLocation: '54696560/Test Image 3',
            State: 'available',       
            VirtualizationType: 'pavirtul',
            Hypervisor: 'xen' 
        }
    ],
    requestId: '2eb809d3-7f82-4142-b5d1-6af3' 
}

当我尝试data.Images["State"]data.Images.State 时,我得到了未定义。

谢谢

【问题讨论】:

  • 很好,这意味着一切正常。 Images 引用的数组没有 State 属性。如果你干净地缩进你的结构,事情可能会变得清晰。
  • 如何访问 State 值?我需要'available'回来。
  • 好吧,Images 引用了一个数组,而数组是一个有序的数据集合,可通过基于 0 的索引访问。

标签: javascript arrays node.js


【解决方案1】:

Images 映射到存储对象的数组,因此您必须指定所需项目的索引。试试 data.images[0]["State"]。

【讨论】:

  • 您可能应该在获取该数组中的状态项之前检查是否有任何数组元素。数组可能为空。
【解决方案2】:

你可以这样访问:

data.Images[0].State

甚至:

data.Images[0]['State']

【讨论】:

    【解决方案3】:

    使用data.image[0].state 访问状态。你的方法是错误的,因为在image 内,你需要在两个方括号内的索引,图像属性是一个数组。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-09
      • 1970-01-01
      • 2014-07-24
      • 2019-08-01
      • 2022-10-22
      • 2015-02-28
      相关资源
      最近更新 更多