¿Hay un método simple para convertir cualquier objeto a JSON en Android?Convertir objeto de JSON en Android
Respuesta
La mayoría de la gente está utilizando GSON: https://github.com/google/gson
Gson gson = new Gson();
String json = gson.toJson(myObj);
A partir de Android 3.0 (API nivel 11) Android tiene una más reciente y mejor JSON Analizador.
http://developer.android.com/reference/android/util/JsonReader.html
Lee un JSON (RFC 4627) valor codificado como una corriente de tokens. Esta corriente incluye tanto valores literales (cadenas, números, booleanos, y valores nulos), así como el inicio y fin a delimitadores de los objetos y arrays. Los tokens son atravesados en orden de profundidad-primero, del mismo orden que que aparecen en el documento JSON. Dentro de los objetos JSON, los pares nombre/valor están representados por un único token.
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 "";
}
}
prefiero de esta manera, cada objeto tiene su propio método de stringify, ¡gracias por la información! – Bhimbim
Spring for Android hacer esto utilizando RestTemplate fácilmente:
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);
No necesita agregar MappingJackson2HttpMessageConverter a RestTemplate, si el Jackson Jar está en el classpath, se agrega automáticamente. –
Esto cómo se puede convertir una cadena JSON JSON a objetos de forma nativa sin necesidad de utilizar ninguna biblioteca externa y obtener los valores correspondientes para una clave. Afortunadamente, lo siguiente debería funcionar.
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();}
Esto no responde a una pregunta. También jsonObject es desconocido aquí. – CoolMind
podría ser mejor elección:
@Override
public String toString() {
return new GsonBuilder().create().toJson(this, Producto.class);
}
¿Por qué es esta una mejor opción? –
Querer poder convertir un objeto en una cadena JSON no significa necesariamente que desee que la representación de cadena del objeto siempre sea JSON. – Thys
@NeriaNachum, la cosa estaba en mi mente cuando respondí que tenía una clase con muchos atributos. Anulando su método 'toString()' crea muchos objetos String cuando imprime de manera predeterminada, generados por Android Studio o IntelliJ Idea, sin embargo, esta es una línea de código y utiliza la potencia de GsonBuilder. – Hesam
- 1. Convertir cadena JSON en el objeto JSON
- 2. Android JSON objeto
- 3. Convertir objeto de JSON en MVC 4
- 4. Cómo convertir objeto de JSON en Symfony2
- 5. Convertir objeto de cadena JSON en C#
- 6. cómo convertir el objeto Doctrine en json
- 7. Convertir cadena JSON en C# Objeto
- 8. Cómo convertir JSON en el objeto
- 9. Convertir de JSON a objeto de colección
- 10. Convertir objeto .Net al objeto JSON en la vista
- 11. convertir una cadena json al objeto python
- 12. Cómo convertir datos jQuery.serialize() al objeto JSON?
- 13. Cómo convertir un objeto Ruby a JSON
- 14. Convertir JSON en objeto de clase en C#
- 15. Cómo analizar un objeto JSON en Android
- 16. convertir objeto JSON en formato csv en javascript
- 17. Obtiene String de json con objeto json anidado y matrices json anidadas con objeto json múltiple, en Android
- 18. cómo convertir un json a un objeto php en symfony2?
- 19. Error al convertir JSON a objeto .Net en asp.net
- 20. Convertir NSData a JSON
- 21. ¿Cómo convertir un objeto hash de rubí a JSON?
- 22. Convierta objeto en cadena JSON
- 23. Convertir JSON para DataTable
- 24. Convertir inválido json en json válido
- 25. Convertir matriz a JSON
- 26. Codificar objeto a JSON
- 27. Convertir un objetivo c objeto iOS a una cadena JSON
- 28. Cómo convertir la siguiente cadena json a objeto java?
- 29. ¿Cómo convertir una cadena JSON a un objeto?
- 30. Stringify (convertir a JSON) un objeto JavaScript con referencia circular
Y también Jackson. – Mob
¿Por qué no tenemos un método integrado para toJson? Pero tenemos para Json? –