在Android中有没有简单的方法可以将任何对象转换为JSON?
nkcskrwz1#
大多数人都在使用gson:check this
Gson gson = new Gson(); String json = gson.toJson(myObj);
xhv8bpkk2#
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 ""; } }
5jvtdoz23#
可能是更好的选择:
@Override public String toString() { return new GsonBuilder().create().toJson(this, Producto.class); }
sqyvllje4#
下载Gradle库:
implementation 'com.google.code.gson:gson:2.9.0'
在方法中使用库。
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);
bgibtngc5#
Spring for 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);
nzkunb0c6#
自Android 3.0(API级别11)起,Android提供了更新和改进的JSON解析器。http://developer.android.com/reference/android/util/JsonReader.html将JSON(RFC 4627)编码值作为标记流读取。此流包括文本值(字符串、数字、布尔值和空值)以及对象和数组的开始和结束分隔符。标记以深度优先的顺序遍历,该顺序与它们在JSON文档中出现的顺序相同。在JSON对象中,名称/值对由单个标记表示。
rseugnpd7#
Kotlin方式
val json = Gson().toJson(myObj)
9jyewag08#
不管怎样,你知道的
Gson gson = new Gson(); String json = gson.toJson(yourModelClassReference);
您可能忘记添加**@Expose**
8条答案
按热度按时间nkcskrwz1#
大多数人都在使用gson:check this
xhv8bpkk2#
5jvtdoz23#
可能是更好的选择:
sqyvllje4#
下载Gradle库:
在方法中使用库。
bgibtngc5#
Spring for Android使用RestTemplate轻松完成此操作:
nzkunb0c6#
自Android 3.0(API级别11)起,Android提供了更新和改进的JSON解析器。
http://developer.android.com/reference/android/util/JsonReader.html
将JSON(RFC 4627)编码值作为标记流读取。此流包括文本值(字符串、数字、布尔值和空值)以及对象和数组的开始和结束分隔符。标记以深度优先的顺序遍历,该顺序与它们在JSON文档中出现的顺序相同。在JSON对象中,名称/值对由单个标记表示。
rseugnpd7#
Kotlin方式
9jyewag08#
不管怎样,你知道的
您可能忘记添加**@Expose**