Как разобрать JsonObject из JsonObjects в String и отправить почтовый запрос с помощью urlconnection android?

У меня есть веб-сервис, в котором я должен передавать параметры в формате Json. Но проблема в том, что у jsonObject есть один ключ с типом jsonobject, и у этого jsonobject есть один ключ с типом сына. Это довольно запутанно, но я могу показать вам мой окончательный результат с сыновним объектом.

{
    "Id": 1,
    "Company": "BMW",
    "Category": {
        "ID": 1,
        "Transmission": 1,
        "Fuel": 2,
        "Description": {
            "Price": 1200000,
            "Year": 2016
        }
    }
}

Теперь я хочу отправить его в URLconnection. Что я должен делать?

Я создаю 3 объекта Json с описанием, категорией и последним сыном, а затем преобразую их в String с помощью toString(). поместил описание в категорию и категорию в финальном сыне с ключом «Категория», но его неработающий сервер выдает ошибку.

Я очень новичок в андроиде и не очень разбираюсь в этом. Любое предложение будет полезно.

Отредактировано Я уже пробовал эту ссылку, но все еще не решил мою проблему.


person M Swapnil    schedule 28.12.2016    source источник
comment
Я не хочу разбирать. Я хочу отправить его в urlrequest.   -  person M Swapnil    schedule 28.12.2016
comment
@M Swapnil ах хорошо понял   -  person Charuක    schedule 28.12.2016
comment
Почему бы вам не попробовать Retrofit, если вы работаете с веб-службами REST. Это очень просто и эффективно с меньшим количеством кода.   -  person Monish Kamble    schedule 28.12.2016
comment
это кажется сложным. но сейчас попробую.   -  person M Swapnil    schedule 28.12.2016


Ответы (2)


если вы хотите использовать URLConnection.. вы можете увидеть этот поток

Запрос POST отправить данные json java HttpUrlConnection

person dsncode    schedule 28.12.2016

Моим первым предложением было бы использовать библиотеку для http-общения:

  1. Залп
  2. OkHttp
  3. Модернизация и т. д.

Они будут обрабатывать json для вас.

если вы все еще хотите использовать этот httpUrlConnection:

URL url = new URL("http://yoururl.com");
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setReadTimeout(10000);
conn.setConnectTimeout(15000);
conn.setRequestMethod("POST");
conn.setDoInput(true);
conn.setDoOutput(true);

List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("firstParam", paramValue1));
params.add(new BasicNameValuePair("secondParam", paramValue2));
params.add(new BasicNameValuePair("thirdParam", paramValue3));

conn.connect();

Вот как вы можете повысить его ценность. Теперь вы можете добавить json.toString() в качестве параметра и дать ему правильный ключ, который идентифицируется сервером;

person Wajid    schedule 28.12.2016