Existe-t-il une méthode simple pour convertir un objet en JSON dans Android?
La plupart des gens utilisent gson: https://github.com/google/gson
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 "";
}
}
Peut-être un meilleur choix:
@Override
public String toString() {
return new GsonBuilder().create().toJson(this, Producto.class);
}
Spring for Android utilisez RestTemplate facilement:
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);
À partir de Android 3.0 (API, niveau 11) Android dispose d'un analyseur JSON plus récent et amélioré.
http://developer.Android.com/reference/Android/util/JsonReader.html
Lit une valeur codée JSON (RFC 4627) en tant que flux de jetons. Ce flux inclut à la fois des valeurs littérales (chaînes, nombres, booléens et nuls) ainsi que les délimiteurs de début et de fin des objets et des tableaux. Les jetons sont parcourus dans le premier ordre de profondeur, le même ordre dans lequel ils apparaissent dans le document JSON. Dans les objets JSON, les paires nom/valeur sont représentées par un seul jeton.