Как я могу создать массив массивов, разделенных запятыми, используя Java - PullRequest
0 голосов
/ 08 апреля 2019

Я пытаюсь использовать google maps API для отображения нескольких местоположений на веб-странице, используя мой Java Spring MVC Web Application. Места хранятся в моей базе данных. Сейчас я пытаюсь вернуть список мест в следующем формате:

['ABC', -33.890542, 151.274856],
      ['Coogee Beach', -33.923036, 151.259052],
      ['Cronulla Beach', -34.028249, 151.157507],
      ['Manly Beach', -33.80010128657071, 151.28747820854187],
      ['Maroubra Beach', -33.950198, 151.259302]

Мне нужен этот формат, поскольку в сценарии местоположения называются следующим образом:

var locations = [
      ['ABC', -33.890542, 151.274856],
      ['Coogee Beach', -33.923036, 151.259052],
      ['Cronulla Beach', -34.028249, 151.157507],
      ['Manly Beach', -33.80010128657071, 151.28747820854187],
      ['Maroubra Beach', -33.950198, 151.259302]
    ];

То, что я пытаюсь сделать, это создать эти массивы с использованием Java, а затем передать его в пользовательский интерфейс. Я не уверен, как создать такую ​​структуру массива с помощью Java.

Ответы [ 2 ]

3 голосов
/ 08 апреля 2019

массив содержит элементы разных типов данных.это создает проблему в статически типизированных языках, таких как Java.массив должен быть определен Object[], что проблематично, так как компилятор не сможет помочь вам правильно заполнить массив.

Вы должны спроектировать API между сервером и клиентом, чтобы использовать массив объектов Json.что-то вроде

[
  {"Name": "Coogee Beach", "longitude":-33.923036, "latitude":151.259052},
  {"Name": "Cronulla Beach", "longitude":-34.028249, "latitude":151.157507},
  ...
]

это лучше всего представить в Java, создав класс со свойствами, соответствующими объекту JSON:

public class Place {
  public String name;
  public double longitude;
  public double latitude;
}

, вам следует создать массив (или List) изPLace s, и вы можете использовать одну из множества библиотек Jason, которые отображают объекты Java на объекты Json.

1 голос
/ 08 апреля 2019

Конструкция возврата значения lat / long в массиве выглядит не очень хорошо, но вот решение, которое должно работать.

Object[][] result = new Object[list.size()][3];
for (int i = 0; i < list.size; i++) {
    result[i][0] = list[i].locName;
    result[i][1] = list[i].latitude;
    result[i][2] = list[i].longitude;
}
return result;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...