2

这是 JSON 字符串的示例:

    {
      "table": {
         "tfoot": "Footer",
         "tr0": [
                  {
                  "form": "formData",
                  "td": "Content"
                  }
                ]
       }
     }

以及我用来解析它的 jQuery 代码:

$.ajax({ 
    type: 'GET', 
    url: source, 
    dataType: 'json',
    success: function (data) { 

            $.each(data, function() {
              $.each(this, function(key, value) {
                switch (key) {
                    case "tfoot":
                        alert(value) // access to this node works fine                      
                    break;

                    default: 
                        alert(value.td) // this is undefined
                    break;
                }       
              });
            });
        }
    });

我用 Chrome 尝试了 Console.log,我可以看到每个节点并且数据没问题。任何人都知道我如何访问“form”或“td”节点?

4

3 回答 3

1

对象值是一个数组,因此您无法访问它的 td 属性。如果您想访问数组 td 属性中的第一项,您需要执行以下操作:

value[0].td

完整代码:

$.each(t, function() {
  $.each(this, function(key, value) {
    switch (key) {
      case "tfoot":
        console.log(value) // access to this node works fine                      
      break;

      default: 
        console.log(value[0].td) // this now prints "Content"
      break;
    }       
  });
 });
于 2012-11-27T14:18:41.623 回答
0

值.table.tr0[0].td

是你正在寻找的。

于 2012-11-27T14:13:57.837 回答
0

在 json { } 定义一个 json 对象, [ ] 定义一个 json Array。

因此,由于之后"tr0"出现了 [ ] (数组),因此您需要使用索引来访问它。 value.table.tr0[0].td应该管用

于 2012-11-27T14:15:46.123 回答