-2
私はツリー図を表すJSONを持っており、これをtreant.jsで視覚化できる新しい構造のJSONに変換したいと考えています。JSONを他の構造の新しいJSONに変換する
異なる数のノードで動作する必要があります。各ノード/子は0または2の子を持つことができます。これは実際に私の主な問題です。入力JSONを反復処理して、すべての子と子を得る方法は、各子のループを持たないでください。
また、親ノードのタイトルは、その子ノードでのみ表されますが、親ノードでも必要です。
入力:
treeModel = {
"TreeModel": {
"AlgorithmName": "CART",
"Child": [{
"RecordCount": 47,
"Score": "1", //should be the name
"ScoreDistribution": [
[24, 23], //should be the description as string
[0.5106382978723404, 0.4893617021276596]
],
"TreeNodePredicate": {
"FieldPredID": 0,
"FieldPredName": "Attribute1", //should be the title from parent
"FieldValue": 0,
"Operator": "EQUAL",
"PredicateType": "SimplePredicate"
}
}, {
"RecordCount": 214,
"Score": "0", //should be the name
"ScoreDistribution": [
[2, 212], //should be the description as string
[0.009345794392523364, 0.9906542056074767]
],
"TreeNodePredicate": {
"FieldPredID": 0,
"FieldPredName": "Attribute1", //should be the title from parent
"FieldValue": 1,
"Operator": "EQUAL",
"PredicateType": "SimplePredicate"
}
}],
"RecordCount": 261,
"Score": "0", //should be the name
"ScoreDistribution": [
[26, 235], //should be the description as string
[0.09961685823754787, 0.9003831417624522]
],
"TreeNodePredicate": {
"PredicateType": "TruePredicate"
}
}
}
出力:
chart_config = {
chart: {
container: "#tree-simple"
},
nodeStructure: {
text: {
name: "0" , //Score
title: "Attribute1", //FieldPredName from Child
desc: "26, 235", //ScoreDistribution as String
},
children: [
{
text: {
name: "1" , //Score
title: "", //FieldPredName from Child(empty as no childs)
desc: "24, 23", //ScoreDistribution as String
}
},
{
text: {
name: "0" , //Score
title: "", //FieldPredName from Child(empty as no childs
desc: "2, 212", //ScoreDistribution as String
}
}
]
}
};
これは、コード・書き込みサービスではありません、あなたが行き詰まったときに戻ってきて、あなたの問題を解決する自分を試してみてください。 – GingerPlusPlus
値を再割り当てするコンストラクタに渡します。簡単です。 – Crowes