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を試しましたが、すべてのノードを確認でき、データは問題ありません。「フォーム」または「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

value.table.tr0[0].td

あなたが探しているものです。

于 2012-11-27T14:13:57.837 に答える
0

in json { } は json オブジェクトを定義し、[ ] は json 配列を定義します。

したがって"tr0"、[ ] (配列) が後に来るので、インデックスを使用してアクセスする必要があります。 value.table.tr0[0].td動作するはずです

于 2012-11-27T14:15:46.123 に答える