私はこれを整理することができましたが、文字列を配列に簡単にプッシュできる形式に再構築しました
コードはこちら
var str='[{"id":170},{"id":171,"children":[{"id":172},{"id":173}]},{"id":174,"children":[{"id":176},{"id":177}]},{"id":175}]';
for(var d=0; d<str.length;d++){
if(newstr!=''){str=newstr;}
var childrenstart=str.indexOf("children");
if(childrenstart!="-1"){
var endstr=str.substr(childrenstart).indexOf("]");;
var childrenstring=str.substr(childrenstart,endstr);
var cleanchildrenstr=childrenstring.replace(/children":/gi,'');
var newchildrenstrng=cleanchildrenstr.replace(/id/gi,'child');
newstr=str.substr(0,childrenstart-1)+newchildrenstrng+str.substr(childrenstart+endstr);
d=childrenstart+endstr;
} else {
d=str.length;
}
}
var finalstr=str.replace(/{/gi,'');
var finalstr=finalstr.replace(/}/gi,'');
var finalstr=finalstr.replace(/]/gi,'');
var finalstr=finalstr.replace(/\[/gi,'');
var finalstr=finalstr.replace(/\"/gi,'');
これはもっと賢くきちんと書くことができることは知っていますが、それは最初のドラフトであり、機能します。これは文字列を返します
id:170,id:171,child:172,child:173,id:174,id:175
切り刻んでアレイにプッシュできます