helpers.jsというファイルに次の再帰関数を保存しました。別のファイルからノードjsに再帰関数を含めるには
var helpers = require('./helpers');
を使用して、メインのapp.jsファイルにロードされたときは、部分的にしか動作しません。ライン:JSONの構文解析は、ネストされたレベルに再帰しないように
s+=recurseJSON(o[a]);
は呼び出されません。
私もまだ動作しません、以下を試してみました:
s+=helpers.recurseJSON(o[a]);
私はメインapp.jsファイルに以下のコードを移動した場合、再帰は完璧に動作し、明らかに
recurseJSON: function(o) {...
を変更
function recurseJSON(o) {..
に自分の考えが理解されています。
module.exports = {
recurseJSON: function(o){
var s = '';
for(var a in o){
if (typeof o[a] == 'object'){
s+=a+':';
console.log('JSON>', a, ":");
s+=recurseJSON(o[a]); // This line should recurse but doesn't
}else{
s+=a+':'+o[a]+' ';
console.log('JSON>', a, ":", o[a]);
}//end if
}//end for
return s;
}
};
PS::オリジナルの再帰的なコードのRecursively parsing JSONの功績ここでは、全体のコードです。
です。おそらく、JSONの各キーと値のペアを繰り返し実行しますが、再帰的な方法で繰り返します。 –
この回答を見るhttps://stackoverflow.com/a/26536906 – RamKumar