Yanıtlar:
Çoğu kişi gson kullanıyor: bunu kontrol edin
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 "";
}
}
Daha iyi bir seçim olabilir:
@Override
public String toString() {
return new GsonBuilder().create().toJson(this, Producto.class);
}
toString()
Yönteminin geçersiz kılınması, varsayılan şekilde yazdırdığınızda (Android Studio veya IntelliJ Idea tarafından oluşturulmuş) birçok String nesnesi oluşturur, ancak bu bir kod satırıdır ve GsonBuilder'ın gücünü kullanır.
Spring for Android , RestTemplate kullanarak bunu kolayca yapın:
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);
Android 3.0'dan itibaren (API Seviye 11) Android, daha yeni ve geliştirilmiş bir JSON Ayrıştırıcısına sahiptir.
http://developer.android.com/reference/android/util/JsonReader.html
Bir jeton akışı olarak JSON (RFC 4627) kodlanmış bir değeri okur. Bu akış, hem değişmez değerleri (dizeler, sayılar, mantıksal değerler ve boş değerler) hem de nesnelerin ve dizilerin başlangıç ve bitiş sınırlayıcılarını içerir. Jetonlar, JSON belgesinde göründükleri sırayla, derinlemesine birinci sırada gezilir. JSON nesneleri içinde ad / değer çiftleri tek bir belirteç ile temsil edilir.
Gradle kütüphanesini indirin:
compile 'com.google.code.gson:gson:2.8.2'
Kitaplığı bir yöntemde kullanmak için.
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);