Intereting Posts
Восстановлены ли фрагменты назад, когда активность воссоздана после его уничтожения? "@android: drawable / ic_" vs "@ * android: drawable / ic_" Как разработать приложение для Android с API Google Maps на нескольких компьютерах? Настройки Android textColor как глобальные В чем разница между различными методами получения контекста? Уменьшить интенсивность вибрации уведомления до нуля в андроиде Android Studio – невозможно открыть файл PNG Как показывать процент загрузки при загрузке изображений в Picasso Не удалось синхронизировать проект Gradle Javax.net.ssl.SSLException: SSL-квитирование отменено. Сброс соединения с помощью одноранговой сети при вызове webservice Android. Это как планировать java-метод для запуска через 1 секунду? Как преобразовать образцы pcm в массив байтов как числа с плавающей запятой в диапазоне от -1.0 до 1.0 и обратно? Оверлейная анимация Facebook Не работает Google Analytics для Android v2. Фон селектора XML не работает на 2.3

Как сделать вложенный объект Json в Java?

Я хочу запрограммировать вложенный объект JSON для моего устройства Android, но как? У меня есть только базовый опыт работы с Json, поэтому я был бы признателен, если бы кто-то помог мне со следующим кодом:

{ "command": "login", "uid": "123123123", "params": { "username": "sup", "password": "bros" } } 

Редактировать:

Следующий код действительно решает проблему:

 loginInformation = new ArrayList<NameValuePair>(); JSONObject parentData = new JSONObject(); JSONObject childData = new JSONObject(); try { parentData.put("command", "login"); parentData.put("uid", UID.getDeviceId()); childData.put("username", username.getText().toString()); childData.put("password", password.getText().toString()); parentData.put("params", childData); } catch (JSONException e) { e.printStackTrace(); } loginInformation.add(new BasicNameValuePair("content", parentData.toString())); 

Вам нужно создать JSON и добавить JSON в качестве параметра в POST . Для этого вы должны:

 post.add(new BasicNameValuePair("data",json.toString()); 

Вы можете использовать org.json.JSONObject , он включен в Android SDK .

BasicNameValuePair – это то, что вы используете для добавления параметров POST. Немного неясно, о чем вы спрашиваете. Вы спрашиваете, как, учитывая, что JSON, представить значения параметров в качестве параметров сообщения?

Вам нужно сначала разобрать JSON, затем вытащить параметры, а затем добавить их в сообщение формы, как это,

 JSONObject jo = new JSONObject(jsonString); JSONObject joParams = jo.getJSONObject("params"); String username = joParams.getString("username"); post.add(new BasicNameValuePair("username",username); 

Вы, конечно же, захотите сделать проверку на JSON, чтобы убедиться, что объект params существует, и для обеспечения выключения параметра имени пользователя.

Создайте модельный класс для Json, инициализируйте его своими данными. Затем используйте Google Gson, чтобы преобразовать его в Json также из Json в Back to Object. А также вот две ссылки, которые делают вашу жизнь более простой для использования Json. Интернет-редактор Json. Вы можете проверить, что сгенерированный json находится в правильном формате или нет. http://www.jsoneditoronline.org/ И Json для POJO Generated (генератор класса модели) http://www.jsonschema2pojo.org/

Если вы просто хотите отправить блок JSON на сервер, вы не должны использовать пары значений ключа, а просто отправляйте данные как StringEntity .

  HttpPost request = new HttpPost(api_call); request.setHeader("Content-Type", "text/javascript"); request.setEntity(new StringEntity(jsonString); httpClient.execute(request);