ネストされた配列を持つ JSON ドキュメントがあります。function AAA()
そして、配列にネストされた配列がある場合、毎回どれをリコールするかを作成したいと思います。そして、ネストされた配列がなくなったら停止します。
例えば。私が持っている場合:
array[AAA,BBB,CCC]
|
AAA[AAA,BBB,CCC]
|
AAA[AAA,BBB,CCC]
|
etc.
サブ配列があるfunction AAA()
場合は常に呼び出したい。5回あるとしAAA
ましょう。私は自分自身を5回呼び出してから停止したい。そして、将来、サブアレイを追加して、より多くの回数を呼び出す場合。AAA
subAAA
function(AAA)
ここで役立つ場合は、私のもの.json
です:
{
"navigation" : [
{
"name" : "home",
"href" : "home.html"
},
{
"name" : "services",
"href" : "interior.html",
"navigation" : [
{
"name" : "PROJECT MANAGEMENT",
"href" : "interior.html",
"navigation" : [
{
"name" : "PROJECT MANAGEMENT",
"href" : "interior.html"
},
{
"name" : "BUSINESS ANALYST",
"href" : "interior.html"
}
]
},
{
"name" : "BUSINESS ANALYST",
"href" : "interior.html"
}
]
},
{
"name" : "company",
"href" : "home.html"
}
]
}
そしてjsコードは次のとおりです。
function parseJSON(){
var navigation = new_json['navigation'];
var nav_html = '';
for (var i = 0; i < navigation.length; i++) {
var name = navigation[i]['name'];
var href = navigation[i]['href'];
var submenu = navigation[i]['navigation'];
nav_html += '<li><a href="' + href + '">' + name + '<span class="ddArrow"></span></a>';
if( typeof(submenu) != 'undefined' ){
nav_html += '<ul>';
for( var j=0; j<submenu.length; j++ ){
var submenu_name = submenu[j]['name'];
var submenu_href = submenu[j]['href'];
nav_html += '<li><a href="' + submenu_href + '">' + submenu_name + '</a></li>';
}
nav_html += '</ul>';
}
nav_html += '</li>';
console.log( nav_html );
$('#navigation ul').html( nav_html );
};
};
そうすれば、サブメニューを持つナビゲーションを作成したいと思います。今は 3 つのレベルがありますが、4 番目と 5 番目を追加することにした場合。追加のコードを記述せずに、コードで HTML でそれらを解析したい。残りはあります... IF
when 関数が停止する必要があるだけです。
なぜうまくいかないのかを理解しているので、私が試したことを単に書きません。