¿Cómo puedo crear un JSON con este formato en Android? Dado que la API que voy a pasar analizará JsonArray y luego el objeto. ¿O estaría bien si solo pasara un objeto json? Ya que solo tendré que insertar 1 transacción por llamada de servicio.
{
"student": [
{
"id": 1,
"name": "John Doe",
"year": "1st",
"curriculum": "Arts",
"birthday": 3/3/1995
},
{
"id": 2,
"name": "Michael West",
"year": "2nd",
"curriculum": "Economic",
"birthday": 4/4/1994
}
]
}
Lo que sé es solo el JSONObject. Como éste.
JSONObject obj = new JSONObject();
try {
obj.put("id", "3");
obj.put("name", "NAME OF STUDENT");
obj.put("year", "3rd");
obj.put("curriculum", "Arts");
obj.put("birthday", "5/5/1993");
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Algunas ideas. Gracias
Respuestas:
Utiliza el siguiente código:
fuente
fuente
fuente
Puede crear un método y pasarle parámetros y obtener el json como respuesta.
Espero que esto ayude.
fuente
Aquí hay una versión más simple (pero no tan corta) que no requiere try-catch:
Si desea agregar un jsonObject en un campo, puede hacerlo de esta manera:
Desafortunadamente, necesita un try-catch debido al método put ().
SI desea evitar nuevamente try-catch (no es muy recomendable, pero está bien si puede garantizar cadenas json bien formateadas), puede hacer lo siguiente:
Puede hacer lo mismo con JsonArrays, etc.
Salud.
fuente
He estado luchando con esto hasta que descubrí la respuesta:
Use la biblioteca GSON:
Pase la matriz json. Esto será auto stringfied. Esta opción funcionó perfectamente para mí.
fuente
fuente
fuente
fuente
fuente
Debe usar el método JSONObject.put
https://developer.android.com/reference/org/json/JSONObject.html#put(java.lang.String,%20double)
fuente