Есть ли простой способ конвертировать любой объект в JSON в Android?
Преобразование объекта в JSON на Android
Ответ 1
Большинство людей используют gson: https://github.com/google/gson
Gson gson = new Gson();
String json = gson.toJson(myObj);
Ответ 2
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 "";
}
}
Ответ 3
Возможно, лучший выбор:
@Override
public String toString() {
return new GsonBuilder().create().toJson(this, Producto.class);
}
Ответ 4
Начиная с Android 3.0 (уровень API 11) у Android появился более современный и улучшенный JSON Parser.
http://developer.android.com/reference/android/util/JsonReader.html
Читает кодированное значение JSON (RFC 4627) как поток токенов. Эта поток включает в себя как литеральные значения (строки, числа, булевы и nulls), а также начальные и конечные разделители объектов и массивов. Токены пересекаются по глубине - первый порядок, тот же порядок, что они появляются в документе JSON. В объектах JSON имя/значение пары представлены одним токеном.
Ответ 5
Spring для Android легко используйте 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);
Ответ 6
Это то, как вы можете преобразовать строку JSON в объект JSON изначально без использования каких-либо внешних библиотек и получить соответствующие значения для ключа. Надеемся, что ниже будет работать.
String JSONstring = "{/"key1/":/"I am Value for Key1/"}";
//Import these libraries
import org.json.JSONException;
import org.json.JSONObject;
//Code below
try
{
String myVariable = jsonObject.optString("key1", "Fallback Value if key1 is not present");
System.out.println("Testing: "+ myVariable);
}
catch (JSONException e) {e.printStackTrace();}