development

Android에서 객체를 JSON으로 변환

big-blog 2020. 7. 25. 10:14
반응형

Android에서 객체를 JSON으로 변환


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


대부분의 사람들은 gson을 사용하고 있습니다 : https://github.com/google/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 객체 내에서 이름 / 값 쌍은 단일 토큰으로 표시됩니다.

참고URL : https://stackoverflow.com/questions/5571092/convert-object-to-json-in-android

반응형