pincia ha scritto:
Mettiamo il caso io lo voglia trattare come risorsa e quindi tenerlo dentro il jar, come faccio a farne il parsing visto che il parse utilizza un Reader?
Quale API per JSON stai usando? A naso direi la json-simple, vero? Bene, il JSONParser ha diversi parse() ma nessuno prende direttamente URL o InputStream. Questo non è un problema, in quanto puoi usare InputStreamReader per incapsulare un InputStream in un Reader.
La prima questione, principale, è come referenziare il file. Se hai una TuaClasse in un package x e il conf.json è in quello
stesso package, ti basta fare:
InputStream confInputStream = TuaClasse.class.getResourceAsStream("conf.json");
Poi però serve:
- creare il InputStreamReader (nota: tieni presente le questioni sui charset!)
- preoccuparsi poi del close. Infatti per quanto so, JSONParser NON fa close sul Reader passato, che quindi spetta a te.
Il consiglio che posso darti è di incapsulare tutta questa logica in una classe generalizzata in modo da poter fare es.:
MyJsonReader myJsonReader = new MyJsonReader();
JSONObject jsonObject = myJsonReader.readObject(confInputStream);