Jak mogę utworzyć JSON w tym formacie w Androidzie: ponieważ API, które będę przekazywać, przeanalizuje JsonArray, a następnie obiekt. A może byłoby dobrze, gdybyśmy po prostu przekazali obiekt json? Ponieważ będę musiał wstawić 1 transakcję na wezwanie serwisu.
{
"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
}
]
}
Wiem tylko o JSONObject. Jak ten.
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();
}
Jakieś pomysły. Dzięki
Odpowiedzi:
Użyj poniższego kodu:
źródło
źródło
źródło
Możesz stworzyć metodę aa i przekazać do niej parametry i otrzymać w odpowiedzi json.
Mam nadzieję, że to Ci pomoże.
źródło
Oto prostsza (ale nie tak krótka) wersja, która nie wymaga try-catch:
Jeśli chcesz dodać obiekt jsonObject do pola, możesz to zrobić w ten sposób:
Niestety ze względu na metodę put () konieczne jest wykonanie try-catch.
Jeśli chcesz uniknąć ponownej próby przechwytywania (niezbyt zalecane, ale możesz zagwarantować dobrze sformatowane ciągi json), możesz zrobić w ten sposób:
Możesz zrobić to samo z JsonArrays i tak dalej.
Twoje zdrowie.
źródło
Walczyłem z tym, dopóki nie znalazłem odpowiedzi:
Użyj biblioteki GSON:
Przekaż tablicę JSON. Będzie to automatycznie ciągnione. Ta opcja działała idealnie dla mnie.
źródło
źródło
źródło
źródło
źródło
Należy użyć metody JSONObject.put
https://developer.android.com/reference/org/json/JSONObject.html#put(java.lang.String,%20double)
źródło