2016-06-27 11 views
0

入れ子になったjsonファイルのノードの深さを見つけるための多くのソリューションが見つかりました。最大再帰制限を設定したときに「最大再帰深度を超えました」というエラーメッセージが表示される 「最大限の再帰深度を超えました」というメッセージが表示される 問題の一部として、各ノードのキー名jsonファイル。入れ子になったjsonファイルのノードの深さを見つける方法は?

例JSON:

"attachments": { 
 
      "data": [ 
 
       { 
 
        "media": { 
 
        "image": { 
 
         "height": 400, 
 
         "src": "https://scontent.xx.fbcdn.net/v/t1.0-1/10250217_10152130974757825_8645405213175562082_n.jpg?oh=904c1785fc974a3208f1d18ac07d59f3&oe=57CED94D", 
 
         "width": 400 
 
        } 
 
        }, 
 
        "target": { 
 
        "id": "74286767824", 
 
        "url": "https://www.facebook.com/LAInternationalAirport/" 
 
        }, 
 
        "title": "Los Angeles International Airport (LAX)", 
 
        "type": "map", 
 
        "url": "https://www.facebook.com/LAInternationalAirport/" 
 
       } 
 
      ] 
 
     }

出力は次のようになります

ノード: [データ[メディア[画像[高さ、幅、SRC]、ターゲット[ID 、url]、タイトル、タイプ、URL]]

深さ:4

答えて

0
function geth(obj) { 
    var depth = 0; 
    var k = Object.keys(obj); 
    console.log(k); 
    for (var i in k) { 
     var tmpDepth = geth(obj[k[i]]); 
     if (tmpDepth > depth) { 
      depth = tmpDepth 
     } 
    } 
    return 1 + depth; 
} 
+0

これは、jsonツリーの深さを再帰的に計算します – user2623720

関連する問題