Ho una variabile String chiamata jsonString
:
{"phonetype":"N95","cat":"WP"}
Ora voglio convertirla in un oggetto JSON. Ho cercato di più su Google ma non ho ottenuto nessuna risposta...
Utilizzando la libreria org.json:
try {
JSONObject jsonObject = new JSONObject("{\"phonetype\":\"N95\",\"cat\":\"WP\"}");
}catch (JSONException err){
Log.d("Error", err.toString());
}
Puoi usare google-gson
. Dettagli:
Esempi di oggetti
class BagOfPrimitives {
private int value1 = 1;
private String value2 = "abc";
private transient int value3 = 3;
BagOfPrimitives() {
// no-args constructor
}
}
(Serializzazione)
BagOfPrimitives obj = new BagOfPrimitives();
Gson gson = new Gson();
String json = gson.toJson(obj);
==> json is {"value1":1,"value2":"abc"}
Si noti che non è possibile serializzare oggetti con riferimenti circolari, poiché ciò comporterebbe una ricorsione infinita.
(Deserializzazione)
BagOfPrimitives obj2 = gson.fromJson(json, BagOfPrimitives.class);
==> obj2 is just like obj
Un altro esempio per Gson:
Gson è facile da imparare e implementare, è necessario conoscere i seguenti due metodi:
-toJson() - converte un oggetto java in formato JSON
-fromJson() - converte JSON in oggetto java
import com.google.gson.Gson;
public class TestObjectToJson {
private int data1 = 100;
private String data2 = "hello";
public static void main(String[] args) {
TestObjectToJson obj = new TestObjectToJson();
Gson gson = new Gson();
//convert java object to JSON format
String json = gson.toJson(obj);
System.out.println(json);
}
}
Output
{"data1":100,"data2":"hello"}
Fonti:
Ci sono vari serializzatori e deserializzatori Java JSON collegati dalla JSON home page.
Al momento, ci sono questi 22:
ul> a href="https://github.com/stleary/JSON-java">JSON-java;
...ma naturalmente la lista può cambiare.