Erstellen eines Baums mit json aus einer Liste / Tabelle

Nehmen wir an, ich habe in diesem Fall eine Tabelle / Liste mit n = 3, aber n kann so unbegrenzt sein.

groupid       answerid1     answerid2     answerid(n)
1              3            6             8 
1              3            6             9 
1              4            7               
2              5                            

und ich möchte eine Eltern / Kind-Baum-Json-Ausgabe wie folgt mit Java erstellen. (Ich habe GSON verwendet.)

    {
        data: [
            {
                groupid: 1,
                children: [
                    {
                        answerid1: 1,
                        children: [
                            {
                                answerid2:3,
                                children: [
                                           {
                                    answerid3:6,
                                                  children: [
                                                              {answerid4: 8},
                                  {answerid4: 9} 
                                                             ]
                                              } 


                            }, {
                                 answerid2: 4,
                                 children: [
                                          {answerid3:7} 
                                   ]
                                 }
                                ]         
                    }, 

               {
                 groupid1: 2,
                 children: [
                       { answerid2: 5}
                        ]
                }

               ]      
        }

Was wäre der Code / die Schritte dazu? Ich habe viele Tags durchgesehen, aber die meisten Leute drucken die Ausgabe und erstellen nicht rekursiv eine Hashmap / ArrayList für GSON, um ADN Write to API zu analysieren. Mit jedem anderen Punkt sind andere Daten verknüpft, die in der json-Ausgabe enthalten sein müssen. Zum Beispiel müsste {groupid: 1} diese {groupid: 1, text = toyota}.

Jede Hilfe wird sehr geschätzt, da ich ziemlich neu in Java bin, da ich aus SAS-Hintergrund komme.

Ich erhalte Daten wie diese (nur eine Matrix aus Listen) Toyota, Gas, Compact, Corolla

Toyota, Gas, Vertrag, CamryToyota, Hybride, Vertrag, PriusHonda, Gas, Compact, Civic

Bei Bedarf kann ich die Daten in zwei Tabellen neu formatieren

parentId parText answerId

1 Toyota 11 Toyota 21 Toyota 32 Honda 4

answerId level answerTextid answerText

1 1 1 Gas1 2 2 Kompakt1 3 3 Krone2 1 1 Gas2 2 2 Kompakt2 3 4 Camry…

Dann muss ich es zu einem Baum machen (verschachtelte Ausgabe wie in der JSON-Show mit Parent / Children - so als ob Sie ein Dateisystemverzeichnis erstellen würden)

Eine andere Möglichkeit, die ich tun möchte, ist, für jedes Auto eine Laufleistung als Varialbe ({answerid3: 4, text = Corolla, mileage = 38}) anzugeben bei Niederlassung Toyota, Gas, Compact wäre die Laufleistung durchschnittlich (Camry, Corolla)

Die Ausgabe ist ein wenig aus, ich bin auf der Suche nach so etwas. Wenn keine untergeordneten Elemente vorhanden sind, sind keine untergeordneten Arraylisten und Attribute Teil eines Objekts (Hashmap).

{"data":[{"id":1,"children":
    [{"id": 2,"children":
        [{"id": 3 ,"children":
            [{"id": 4,"name":"Prius"}],"name":"Compact"}],"name":"Hybrid"},
    {"id":5,"children":
        [{"id":3,"children":
            [{"id":7,"MPG":38, "name":"Corolla"},
             {"id":8,"MPG":28,"name":"Camry"}],"name":"Compact"}],"name":"Gas"}],"name":"Toyota"},
{"id":9, "children":
    [{"id":10,"children":
        [{"id":3 ,"children":
            [{"id":11 ,"name":"Civic"}],"name":"Compact"}],"name":"Gas"}],"name":"Honda"}]}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage