访问json中的attributes-array

时间:2014-05-19 22:22:04

标签: javascript json

我正在尝试访问json数组中的特定属性。我已经查看了here,这对我的一般理解有帮助,但对于我的具体用例,它不起作用。

json看起来像这样:

{
    "uuid": "3a8ed45f-28e7-4263-8437-d926c6a194f4",
    "number": "3310010",
    "shortname": "FUESTRUP",
    "longname": "FUESTRUP",
    "km": 102.177,
    "agency": "WSA RHEINE",
    "longitude": 7.680240800859249,
    "latitude": 52.04026675873374,
    "water": {
        "shortname": "EMS",
        "longname": "EMS"
    },
    "timeseries": [{
        "shortname": "W",
        "longname": "WASSERSTAND ROHDATEN",
        "unit": "cm",
        "equidistance": 15,
        "gaugeZero": {
            "unit": "m. ü. NN",
            "value": 35.69,
            "validFrom": "1952-02-01"
        }
    }]
}

现在我想访问timeseries-array中的gaugeZero-Collection中的 -Property。我已经尝试过这样做:

  

data.timeseries [0] .longname.gaugeZero.value

但这不起作用(它未完成)。

感谢您的帮助!

4 个答案:

答案 0 :(得分:4)

gaugeZero不是longname的属性。你必须像这样访问它......

data.timeseries[0].gauzeZero.value

假设数据是从JSON创建的JavaScript对象。

答案 1 :(得分:0)

data.timeseries[0].longname.gaugeZero.value

由于longname没有gaugeZero属性,因此无法工作。与尝试data.colordata.timeseries[0].animals一样。

你需要:

  1. 获取对象的JSON。
  2. 然后有一个对象data

    data.timeseries[0].gaugeZero.value

  3. 您可以在浏览器控制台或 节点重播 进行测试,看看神奇的工作。

答案 2 :(得分:0)

使用data.timeseries[0].gaugeZero.value代替

data.timeseries[0].longname.gaugeZero.value

答案 3 :(得分:0)

gaugeZero不是longname的属性

data['timeseries']["longname"]["gaugeZero"]["value"];

http://jsfiddle.net/YP68N/