2012-09-21 38 views
1

我有一个json数组,我需要提醒其中的一个值。 物体看起来是这样的:如何提醒json数组中的值?

Test = [ 
     { 
      "adj" : [ 
        { 
         "nodeTo" : "x", 
         "nodeFrom" : y, 
         "data": 
           { 
           "$type" : "line", 
           "$color" : "#A989BC", 
           "$value" : "number" 
           } 
        } 
        ], 

      "id" : "id1", 
      "name" : "name1" 
     }, 
     { 
      "adj" : [ ..... ] // I have many element in the Test array 

我想是提醒其存在的“ADJ”数组中的“数据”数组中存在的价值。 我试过这个:

alert(Test[0]["adj"]["data"]["value"]); 

但它不工作。

感谢提前:)

+0

您正在尝试使用''adjacencies'''访问''''adj'''键。只需更换它。 – alexandernst

+0

我写错了。我刚刚编辑它 – Hanady

回答

1

ADJ是一个数组:

alert(Test[0]["adj"][0]["data"]["value"]); 
+0

它的工作,但我还有一个两个问题:1.如果它警告'“未定义”,这是什么意思? 2.“value”的值是一个字符串,我是否必须将其解析为字符串或将'.text()'或类似的东西? – Hanady

+0

字符串是您可以在警报中输出的唯一变量类型。你不需要解析它。而未定义则表示属性(值)不存在。 –

+0

其实我应该写''$ value'' – Hanady

0

尝试这段代码

alert(Test[0]["adj"][0]["data"]["value"]); 
0
alert(Test[0]["adj"][0]["data"]["value"]); 
0

adj后一个对象,所以你需要添加一个[0]

alert(Test[0]["adj"][0]["data"]["value"]); 
+0

它可以工作,但我仍然有一个两个问题:1.如果它提示“undefined”,那是什么意思? 2.“价值”的价值是一个字符串,我必须解析它的字符串或把.text()或类似的东西? – Hanady