web-dev-qa-db-fra.com

Convertir un objet en JSON dans Android

Existe-t-il une méthode simple pour convertir un objet en JSON dans Android?

110
Thys

La plupart des gens utilisent gson: https://github.com/google/gson

Gson gson = new Gson();
String json = gson.toJson(myObj);
232
James L
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 "";
    }

}
55
ingyesid

Peut-être un meilleur choix:

@Override
public String toString() {
    return new GsonBuilder().create().toJson(this, Producto.class);
}
9
Hesam

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);
3
Saeed Zarinfam

À 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.

1
Mob