Как я могу создать массив массивов, разделенных запятыми, с помощью java

Я пытаюсь использовать 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.

google: "двумерный массив Java"

Stultuske 08.04.2019 10:50

Я бы рекомендовал использовать библиотеку json, чтобы она могла генерировать для вас эту строку json. Я не уверен, что весна уже поставляет его или есть предпочтение, но наиболее часто используемым будет Джексон или Гсон.

Thomas 08.04.2019 10:58
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
2
73
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

массив содержит элементы разных типов данных. это создает проблему в статически типизированных языках, таких как 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) из PLaces, и вы можете использовать одну из многих библиотек Jason, которые сопоставляют объекты Java с объектами Json.

Я также планировал то же самое, создав POJO, а затем вернув список. Но как я могу получить эту долину в сценарии следующим образом: <script type = "text/javascript"> varlocations = [ ['<strong>Chipotle on Sheridan</strong><br>\r\ 6600 N Sheridan Rd< br> Чикаго, Иллинойс 60626<br>', -33.890542, 151.274856], ['Coogee Beach', -33.923036, 151.259052], ['Cronulla Beach', -34.028249, 151.157507], ['Manly Beach', -33.800710121,65700 151.28747820854187], ['Пляж Марубра', -33.950198, 151.259302]];

Geo Thomas 08.04.2019 11:06

это должно быть так? потому что это просто плохой дизайн

Sharon Ben Asher 08.04.2019 11:09

Все, что я пытаюсь сделать, это загрузить карту с несколькими маркерами, где данные взяты из базы данных, которая должна быть возвращена контроллером Spring MVC.

Geo Thomas 08.04.2019 11:12

вам нужно понимать, что API сервер-клиент и API карт Google — это две разные вещи с разными требованиями и функциями. клиент JavaScript может принимать массив объектов json и переводить его в структуру данных, которую ожидают карты Google.

Sharon Ben Asher 08.04.2019 11:34

Дизайн возврата широты/долготы в массиве выглядит не очень хорошо, но вот решение, которое должно работать.

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;

что такое list??

Sharon Ben Asher 08.04.2019 11:07

list — это список местоположений, возвращаемый из базы данных.

Deepak Khillare 08.04.2019 11:09

Другие вопросы по теме