Android에서 객체를 JSON으로 변환 객체를 JSON으로 변환하는 간단한 방법이 있습니까?

Android에서 객체를 JSON으로 변환하는 간단한 방법이 있습니까?



답변

대부분의 사람들은 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 "";
    }

}


답변

더 나은 선택이 될 수 있습니다.

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


답변

Android 용 Spring은 RestTemplate을 사용하여 쉽게이 작업을 수행합니다.

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 (API 레벨 11)부터 Android에는 최신 및 향상된 JSON 파서가 있습니다.

http://developer.android.com/reference/android/util/JsonReader.html

JSON (RFC 4627) 인코딩 값을 토큰 스트림으로 읽습니다. 이 스트림에는 리터럴 값 (문자열, 숫자, 부울 및 널)과 객체 및 배열의 ​​시작 및 끝 구분 기호가 모두 포함됩니다. 토큰은 JSON 문서에 표시되는 순서와 동일한 깊이 우선 순서로 순회됩니다. JSON 객체 내에서 이름 / 값 쌍은 단일 토큰으로 표시됩니다.


답변

Gradle 라이브러리를 다운로드하십시오.

compile 'com.google.code.gson:gson:2.8.2'

메소드에서 라이브러리를 사용합니다.

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);


답변