Comment puis-je créer un JSON avec ce format sous Android: Puisque l'API que je vais passer analysera JsonArray puis l'objet. Ou serait-il correct de passer simplement un objet json? Puisque je devrai juste insérer 1 transaction par appel de service.
{
"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
}
]
}
Ce que je sais, ce n'est que le JSONObject. Comme celui-ci.
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();
}
Des idées. Merci
Réponses:
Utilisez le code suivant:
la source
la source
la source
Vous pouvez créer une méthode et lui passer des paramètres et obtenir le json comme réponse.
J'espère que cela t'aidera.
la source
Voici une version plus simple (mais pas si courte) qui ne nécessite pas de try-catch:
Si vous souhaitez ajouter un jsonObject dans un champ, vous pouvez procéder de cette manière:
Malheureusement, il a besoin d'un try-catch à cause de la méthode put ().
Si vous voulez éviter à nouveau try-catch (pas très recommandé, mais c'est correct si vous pouvez garantir des chaînes json bien formées), vous pouvez procéder de cette façon:
Vous pouvez faire la même chose avec JsonArrays et ainsi de suite.
À votre santé.
la source
J'ai eu du mal avec ça jusqu'à ce que j'aie trouvé la réponse:
Utilisez la bibliothèque GSON:
Passez le tableau json. Ce sera automatiquement stringfied. Cette option a parfaitement fonctionné pour moi.
la source
la source
la source
la source
la source
Vous devez utiliser la méthode JSONObject.put
https://developer.android.com/reference/org/json/JSONObject.html#put(java.lang.String,%20double)
la source