Diese JSON ist die Ausgabe, die ich erwarte,
[{
"text": "a",
"nodes": [{
"text": "aa",
"nodes": [{
"text": "aa1"
}, {
"text": "aa2",
"nodes": [{
"text": "aaa1"
},
{
"text": "aaa2",
"nodes": [{
"text": "aaaa21"
}]
},
{
"text": "aaa3"
}
]
}]
}]
},
{
"text": "b",
"nodes": [{
"text": "bb1"
},
{
"text": "bb2"
}
]
},
{
"text": "c",
"nodes": [{
"text": "cc"
}]
},
{
"text": "d",
"nodes": [{
"text": "dd1",
"nodes": [{
"text": "ddd1"
},
{
"text": "ddd2"
},
{
"text": "ddd3",
"nodes": [{
"text": "ddd31",
"nodes": [{
"text": "ddd32"
}]
}]
}
]
}]
}]
Um also kurz aus der untenstehenden Tabellenstruktur einen JSON-Baum wie oben zu erzeugen, teilen Sie mir bitte einen Java-Code / Algorithmus.
Eine einfache Rekursionsmethode würde mir helfen, oder gibt es dafür eine Standardbibliothek
Antworten:
0 für die Antwort № 1Ihr unmittelbares Problem ist, dass Sie rekursiv sindDie Funktion führt die SQL-Abfrage bei jedem Aufruf aus, sodass sie niemals über die erste Ergebniszeile hinausgeht. Daher der Stapelüberlauf. Strukturieren Sie Ihren Code so, dass die Abfrage zu Beginn nur einmal ausgeführt wird. Ich hatte keine Zeit, eine Tabelle zu erstellen, um dies auszuprobieren, aber intuitiv müssen Sie die Funktion verschieben, um direkt vor der "while" -Schleife zu starten.