Salve a tutti,
ho un problema nella serializzazione di oggetti Java in JSON.
Dato il codice di seguito il risultato ìe che nell'output l'oggetto PanelModule non viene serializato a meno che non specificatamente dichiarato
nella classe Config come private ArrayList<PanelModule>...
Il mio output JSON deve essere legato alla classe ("Panel":{}, "List":{}, "Menu" :{}ecc) ma la mia classe Config
deve rimanere generica e accettare tutti i moduli che estendono Module.
public class Config{
private ArrayList<Module> modules;
public void addModules(Module module) {
modules.add(module);
}
}
}
public class Module {
private String name ="module";
public ArrayList<Mod> mods;
public Module() {}
public void addMod(Mod mod) {
}
}
public class PanelModule extends Module{
private String name ="panel";
public ArrayList<Mod> panel;
public PanelModule() {}
@Override
public void addMod(Mod mod) {
panel.add(mod);
}
}
Config config=new Config();
Mod mod = new Mod();
mod.addRequires("...");
PanelModule panelModule = new PanelModule();
panelModule.addMod(mod);
config.addModules(panelModule);
Gson gson = new Gson();
String json = gson.toJson(config);
Attualmente ho provato Google-Gson ma non ho pregiudizzi, qualsiasi libreria alternativa va bene

Rispondi quotando