Как я могу создать JSON с этим форматом в Android: поскольку API, который я передам, будет анализировать JsonArray, затем объект. Или было бы хорошо, если бы просто передать объект json? Так как мне просто нужно будет вставить 1 транзакцию за вызов службы.
{
"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
}
]
}
Я знаю только JSONObject. Как этот.
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();
}
Любые идеи. Спасибо
Ответы:
Используйте следующий код:
источник
источник
источник
Вы можете создать метод, передать ему параметры и получить json в качестве ответа.
Я надеюсь, что это поможет вам.
источник
Вот более простая (но не такая короткая) версия, которая не требует try-catch:
Если вы хотите добавить jsonObject в поле, вы можете сделать это следующим образом:
К сожалению, из-за метода put () требуется попытка поймать.
ЕСЛИ вы хотите снова избежать try-catch (не очень рекомендуется, но ничего страшного, если вы можете гарантировать хорошо отформатированные строки json), вы можете сделать это следующим образом:
То же самое можно сделать с JsonArrays и так далее.
Приветствия.
источник
Я боролся с этим, пока не нашел ответ:
Используйте библиотеку GSON:
Передайте массив json. Это будет автоматически закреплено. Этот вариант у меня отлично сработал.
источник
источник
источник
источник
источник
Вы должны использовать метод JSONObject.put
https://developer.android.com/reference/org/json/JSONObject.html#put(java.lang.String,%20double)
источник