Antworten:
Die meisten Leute benutzen gson: überprüfen Sie dies
Gson gson = new Gson();
String json = gson.toJson(myObj);
public class Producto {
int idProducto;
String nombre;
Double precio;
public Producto(int idProducto, String nombre, Double precio) {
this.idProducto = idProducto;
this.nombre = nombre;
this.precio = precio;
}
public int getIdProducto() {
return idProducto;
}
public void setIdProducto(int idProducto) {
this.idProducto = idProducto;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public Double getPrecio() {
return precio;
}
public void setPrecio(Double precio) {
this.precio = precio;
}
public String toJSON(){
JSONObject jsonObject= new JSONObject();
try {
jsonObject.put("id", getIdProducto());
jsonObject.put("nombre", getNombre());
jsonObject.put("precio", getPrecio());
return jsonObject.toString();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return "";
}
}
Könnte eine bessere Wahl sein:
@Override
public String toString() {
return new GsonBuilder().create().toJson(this, Producto.class);
}
toString()
Methode werden viele Zeichenfolgenobjekte erstellt, wenn Sie standardmäßig drucken - generiert von Android Studio oder IntelliJ Idea. Dies ist jedoch eine Codezeile und nutzt die Leistung von GsonBuilder.
Spring für Android macht dies mit RestTemplate ganz einfach:
final String url = "http://192.168.1.50:9000/greeting";
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
Greeting greeting = restTemplate.getForObject(url, Greeting.class);
Ab Android 3.0 (API Level 11) verfügt Android über einen neueren und verbesserten JSON-Parser.
http://developer.android.com/reference/android/util/JsonReader.html
Liest einen JSON (RFC 4627) -codierten Wert als einen Stream von Token. Dieser Stream enthält sowohl Literalwerte (Zeichenfolgen, Zahlen, Boolesche Werte und Nullen) als auch die Begrenzer für Anfang und Ende von Objekten und Arrays. Die Token werden in der Reihenfolge der Tiefe zuerst durchlaufen, in der Reihenfolge, in der sie im JSON-Dokument angezeigt werden. In JSON-Objekten werden Name / Wert-Paare durch ein einzelnes Token dargestellt.
Laden Sie die Bibliothek Gradle herunter:
compile 'com.google.code.gson:gson:2.8.2'
So verwenden Sie die Bibliothek in einer Methode
Gson gson = new Gson();
//transform a java object to json
System.out.println("json =" + gson.toJson(Object.class).toString());
//Transform a json to java object
String json = string_json;
List<Object> lstObject = gson.fromJson(json_ string, Object.class);