Cómo anidar objetos al crear JSON con JSONObject
Estoy tratando de codificar esta cadena para una solicitud POST
. ¿Puede alguien decirme cómo puedo codificar
{"jsonrpc": "2.0", "method": "Files.GetSources", "params":{"media":"music"}, "id": 1}
Hasta ahora he
- Creación de JSONObject de cadena en JAVA (org.json)
- Mi actividad no puede conectarse al sitio web y mostrar los datos de JSON mediante volley
- Concate JSONArray
- Jackson ObjectMapper con claves JSON arbitrarias
- Convertir InputStream a JSONObject
JSONOjbect obj = new JSONObject(); obj.put("jsonrpc", "2.0"); obj.put("method", "Files.GetSources");
Pero no estoy seguro de cómo poner en el resto – ¿alguien puede ayudar?
- Convertir objeto complejo de Java en Json
- ¿Cuál usar? JSONObject de org.json VS JsonObject de javax.json
- Agregar JsonArray a JsonObject generó caracteres de escape (gson)
- HttpMethod.Delete no funciona con RestTemplate de primavera-Android
- BufferedReader mientras lee datos Json
- Cómo obtener respuesta como String utilizando retrofit sin utilizar GSON o cualquier otra biblioteca en android
- Parse JSON sin sucesión de bloques Try-Catch
- JacksonParser databind y la causa principal "Encontró archivo duplicado para APK"?
Si usted está preguntando cómo pondría el objeto de params
anidados allí, probablemente haría:
JSONObject params = new JSONObject(); params.put("media", "music"); obj.put("params", params);
Para usar una matriz (por sus comentarios a continuación), haría algo como esto:
JSONArray properties = new JSONArray(); properties.put("resume"); properties.put("genre"); properties.put("studio"); ... JSONObject params = new JSONObject(); params.put("properties", properties); obj.put("params", params);
Tienes dos opciones. Puede crear otro objeto que contenga "media":"music"
y luego ponerlo en el JSONObject
original o simplemente pasar toda esta cadena al constructor JSONObject
y hacer que lo JSONObject
.
JSONOjbect obj = new JSONObject().put("jsonrpc", "2.0") .put("method", "Files.GetSources").put("id", 1) .put("params", new JSONObject.put("media", "music"));
Chaining .put () como esto es posible porque put () devuelve el objeto en el que fue llamado – para este propósito exacto.
Bien, si usted tiene la secuencia antes de la mano, usted puede hacer simplemente
JSONObject object = JSONObject.getJSONObject("{\"jsonrpc\": \"2.0\", \"method\": \"Files.GetSources\", \"params\":{\"media\":\"music\"}, \"id\": 1}");
- Cambiar el color predeterminado de la marca de verificación de CheckBox de Android
- ActionBarCompat & Transparencia