У меня проблемы с анализом моего JSON, который я получаю из JavaScript.
Формат JSON таков:
[{"positions":[{"x":50,"y":50},{"x":82,"y":50},{"x":114,"y":50},{"x":146,"y":50}]},{"positions":[{"x":210,"y":50},{"x":242,"y":50},{"x":274,"y":50}]}]
До сих пор я был в состоянии пройти это далеко:
{"positions":[{"x":50,"y":50},{"x":82,"y":50},{"x":114,"y":50},{"x":146,"y":50}]}
Но мне также нужно создать класс с этими позициями. Я не работал над классом, так как сначала попытался распечатать вывод, но я не могу разбить его дальше. Я получаю это сообщение об ошибке:
java.lang.IllegalStateException: это не массив JSON.
И мой код такой:
JsonParser parser = new JsonParser();
String ships = request.getParameter("JSONships");
JsonArray array = parser.parse(ships).getAsJsonArray();
System.out.println(array.get(0).toString());
JsonArray array2 = parser.parse(array.get(0).toString()).getAsJsonArray();
System.out.println(array2.get(0).toString());
Я также пытался сделать это так:
Gson gson = new Gson() ;
String lol = (gson.fromJson(array.get(0), String.class));
System.out.println(lol);
В каком случае я получаю:
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: ожидаемая STRING, но была BEGIN_OBJECT
В конце я хочу пройтись по позициям, создавая класс для каждой «позиции», который содержит список с другим классом Position, который имеет int x, y.
Спасибо за ваше время.