Как отправить JSON ARRAY с данными JSON OBJECT на сервер? - PullRequest
0 голосов
/ 02 июня 2018

Я хочу отправить ниже данные JSON на сервер и прочитать ответ в Android и сервере также.Ниже приведены данные Json.

x и y - координаты изображения.

lstCoordinate:[
                   {
                   x=xValue
                   y=yValue
                   img_id=image
                   }
                   {
                   x=xValue
                   y=yValue
                   img_id=image
                   }
              ]

1 Ответ

0 голосов
/ 02 июня 2018

Рекомендации - создать конкретный объект Java для представления ваших данных внутри вашего приложения.Вы также должны (рекомендовать) использовать библиотеку в качестве okHttp или дооснащения для работы с запросами в вашем приложении, потому что по мере роста вашего приложения оно будет более организованным с использованием объектов, вместо этого будет работать напрямую с json.

Пример:
Класс бетона

  public class Coordinate {
        private String X;
        private String Y;
        private int ImageID;

        public Coordinate(String X, String Y, int ImageID) {
            this.X = X;
            this.Y = Y;
            this.ImageID = ImageID;
        }
        public String GetX() {
            return this.X;
        }
        public String GetY() {
            return this.Y;
        }
        public int GetImageID() {
            return this.ImageID;
        }
        public void SetX(String X) {
            this.X = X;
        }
        public void SetY(String Y) {
            this.Y = Y;
        }
        public void GetImageID(int ImageID) {
            this.ImageID = ImageID;
        }
    }

Конверсия

 Gson gson = new Gson();

    List<Coordinate> coordinates = new ArrayList<>();

    coordinates.add(new Coordinate("-300511237", "-512133938", 1));
    coordinates.add(new Coordinate("28614723", "77210005", 2));

    String json = gson.toJson(coordinates);

Запрос с использованием okHttp

public static final MediaType JSON
    = MediaType.parse("application/json; charset=utf-8");

OkHttpClient client = new OkHttpClient();

String post(String url, String json) throws IOException {
  RequestBody body = RequestBody.create(JSON, json);
  Request request = new Request.Builder()
      .url(url)
      .post(body)
      .build();
  Response response = client.newCall(request).execute();
  return response.body().string();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...