Existe-t-il une méthode simple pour convertir n'importe quel objet en JSON dans Android ?
Pourquoi n'avons-nous pas de méthode intégrée pour toJson ? Mais nous l'avons pour fromJson ?
Existe-t-il une méthode simple pour convertir n'importe quel objet en JSON dans Android ?
La plupart des gens utilisent gson : Vérifiez ceci
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 "";
}
}
Vous disposez également d'un paquet natif Android pour gérer JSON :
http://developer.Android.com/reference/org/json/package-summary.html
C'est assez simple et direct, je n'ai rencontré aucun problème avec.
Il s'agit d'un excellent tutoriel avec des exemples :
http://www.androidcompetencycenter.com/2009/10/json-parsing-in-Android/
Spring pour Android faire cela en utilisant 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);
Depuis Android 3.0 (API Level 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) comme un flux de jetons. Ce flux flux comprend à la fois des valeurs littérales (chaînes de caractères, nombres, booléens et nulles) ainsi que les délimiteurs de début et de fin d'objets et de tableaux. Les jetons sont parcourus dans l'ordre de la profondeur, c'est-à-dire dans le même ordre que celui dans lequel ils apparaissent dans le code JS. qu'ils apparaissent dans le document JSON. Dans les objets JSON, les paires nom/valeur sont représentées par un seul jeton. sont représentées par un seul jeton.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.