Как сделать вложенный объект 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())); 

Solutions Collecting From Web of "Как сделать вложенный объект Json в Java?"

Вам нужно создать 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);