Câu trả lời:
Hầu hết mọi người đang sử dụng gson: kiểm tra điều này
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 "";
}
}
Có thể là sự lựa chọn tốt hơn:
@Override
public String toString() {
return new GsonBuilder().create().toJson(this, Producto.class);
}
toString()
phương thức của nó tạo ra nhiều đối tượng Chuỗi khi bạn in theo cách mặc định - được tạo bởi Android Studio hoặc IntelliJ Idea - tuy nhiên, đây là một dòng mã và sử dụng sức mạnh của GsonBuilder.
Spring cho Android thực hiện việc này bằng cách sử dụng RestTemplate một cách dễ dàng:
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);
Kể từ Android 3.0 (API cấp 11), Android có Trình phân tích cú pháp JSON gần đây và được cải tiến hơn.
http://developer.android.com/reference/android/util/JsonReader.html
Đọc giá trị được mã hóa JSON (RFC 4627) dưới dạng luồng mã thông báo. Luồng này bao gồm cả các giá trị bằng chữ (chuỗi, số, booleans và null) cũng như các dấu phân cách bắt đầu và kết thúc của các đối tượng và mảng. Các mã thông báo được duyệt theo thứ tự chiều sâu, cùng thứ tự xuất hiện trong tài liệu JSON. Trong các đối tượng JSON, các cặp tên / giá trị được biểu thị bằng một mã thông báo duy nhất.
tải thư viện Gradle:
compile 'com.google.code.gson:gson:2.8.2'
Để sử dụng thư viện trong một phương thức.
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);