Ответ 1
Вам нужно создать JSON
и добавить JSON
в качестве параметра в POST
. Для этого вы должны:
post.add(new BasicNameValuePair("data",json.toString());
Вы можете использовать org.json.JSONObject
, он включен в Android SDK
.
Я хочу запрограммировать вложенный объект JSON для моего устройства Android, но как? У меня есть только базовый опыт работы с Json, поэтому я был бы признателен, если бы кто-нибудь мог мне помочь со следующим кодом:
{
"command": "login",
"uid": "123123123",
"params":
{
"username": "sup",
"password": "bros"
}
}
Edit:
Следующий код решает проблему:
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, представить значения параметров в качестве параметров post?
вам нужно сначала разобрать 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 (Model Class Generator) 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);