Como posso criar um JSON com este formato no Android: Como a API que passarei analisará o JsonArray e o objeto. Ou seria bom apenas passar um objeto json? Como terei de inserir apenas 1 transação por chamada de serviço.
{
"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
}
]
}
O que eu sei é apenas o JSONObject. Como este.
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();
}
Alguma ideia. obrigado
Respostas:
Use o seguinte código:
fonte
fonte
fonte
Você pode criar um método e passar parâmetros para ele e obter o json como resposta.
Eu espero que isso te ajude.
fonte
Aqui está uma versão mais simples (mas não tão curta) que não requer try-catch:
Se você deseja adicionar um jsonObject em um campo, pode fazer o seguinte:
Infelizmente, ele precisa de um try-catch por causa do método put ().
Se você quiser evitar o try-catch novamente (não é muito recomendado, mas tudo bem se você pode garantir seqüências de caracteres json bem formatadas), faça o seguinte:
Você pode fazer o mesmo com o JsonArrays e assim por diante.
Felicidades.
fonte
Tenho lutado com isso até eu descobrir a resposta:
Use a biblioteca GSON:
Passe a matriz json. Isso será auto-configurado. Esta opção funcionou perfeitamente para mim.
fonte
fonte
fonte
fonte
fonte
Você deve usar o método JSONObject.put
https://developer.android.com/reference/org/json/JSONObject.html#put(java.lang.String,%20double)
fonte