Как разместить несколько JSON массивов с помощью модернизации (Android, Java) - PullRequest
0 голосов
/ 13 апреля 2020

Это структура массива post JSON, я пробовал много решений, но никто не помог. Заранее спасибо.

{[['itemId'=>1,'quantity'=>3],['itemId'=>4,'quantity'=>1]]}

Структура API почтальона enter image description here

Ответы [ 2 ]

2 голосов
/ 13 апреля 2020

Вы можете создать объект, у которого есть список объектов:

0 голосов
/ 15 апреля 2020

Что я сделал для вышеуказанной структуры:

@FormUrlEncoded
@POST("order")
Call<YourResponse> postMethod(@Field("shippingAddress") String shippingAddress,
                              @Field("items[0][id]") List<String> itemList,
                              @Field("items[0][quantity]") List<String> quantityList);

и в вашей деятельности или фрагменте:

List<String> itemList = new ArrayList<>();
List<String> quantityList = new ArrayList<>();
itemList.add("1","2");
quantityList.add("10","20");

и вызове дооснащения:

  Call<YourResponse> checkOut = BaseNetworking.apiServices(AppRepository.mAPIToken(getActivity()))
            .checkOut("this is some address", itemList, quantityList);
    checkOut.enqueue(new Callback<YourResponse>() {
        @Override
        public void onResponse(Call<YourResponse> call, Response<YourResponse> response) {
            if (response.body().getCode() == 200) {
                Toast.makeText(getActivity(), response.body().getMessage(), Toast.LENGTH_SHORT).show();
            } else {
                try {
                    JSONObject jsonObject = new JSONObject(response.errorBody().string());
                    Toast.makeText(getActivity(), jsonObject.getString("message"), Toast.LENGTH_SHORT).show();
                } catch (JSONException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }

            }
        }

        @Override
        public void onFailure(Call<YourResponse> call, Throwable t) {

        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...