Wie kann ich einen JSON mit diesem Format in Android erstellen: Da die API, die ich übergeben werde, JsonArray und dann das Objekt analysiert. Oder wäre es in Ordnung, nur ein JSON-Objekt zu übergeben? Da muss ich nur 1 Transaktion pro Serviceabruf einfügen.
{
"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
}
]
}
Was ich weiß, ist nur das JSONObject. Wie dieser.
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();
}
Irgendwelche Ideen. Vielen Dank
Antworten:
Verwenden Sie den folgenden Code:
quelle
quelle
quelle
Sie können eine Methode erstellen und Parameter an diese übergeben und den JSON als Antwort erhalten.
Ich hoffe, dies wird dir helfen.
quelle
Hier ist eine einfachere (aber nicht so kurze) Version, für die kein Try-Catch erforderlich ist:
Wenn Sie einem Feld ein jsonObject hinzufügen möchten, gehen Sie folgendermaßen vor:
Leider braucht es wegen der put () -Methode einen Try-Catch.
WENN Sie erneut Try-Catch vermeiden wollen (nicht sehr zu empfehlen, aber es ist in Ordnung , wenn Sie gut formated json Saiten garantieren kann), können Sie auf diese Weise tun könnte:
Sie können dasselbe mit JsonArrays usw. tun.
Prost.
quelle
Ich habe damit gekämpft, bis ich die Antwort herausgefunden habe:
Verwenden Sie die GSON-Bibliothek:
Übergeben Sie das JSON-Array. Dies wird automatisch stringfied. Diese Option hat bei mir perfekt funktioniert.
quelle
quelle
quelle
quelle
quelle
Sie sollten die JSONObject.put-Methode verwenden
https://developer.android.com/reference/org/json/JSONObject.html#put(java.lang.String,%20double)
quelle