Json with struts2, как заселить этот объект? - PullRequest
0 голосов
/ 07 апреля 2010

У меня есть вопрос:

Как заселить этот объект из действия struts2? Мое действие без проблем заполняет многие мои объекты, но у меня есть ограничение на ввод JSON. Мой вклад такой:

Теперь я не знаю, как заселить. Геометрия класса может иметь double[] или double[][] или double[][][], поскольку вход JSON может иметь несколько типов геометрии. Примеры Json:

{ "geometry" : { "coordinates" : [331450.0638554565,5128924.597221361],
            "type" : "Point"
          } 

{ "geometry" : { "coordinates" : [  
              [ 331889.57676804002,5130491.5563009996],
                      [ 330991.44168580999,5129555.2027046001],
                      [ 331450.0638554565,5128924.597221361]
                      ],
                "type" : "Linestring"
              }

{ "geometry" : { "coordinates" : [ [ 
              [ 331889.57676804002,5130491.5563009996],
                      [ 330991.44168580999,5129555.2027046001],
                      [ 331450.0638554565,5128924.597221361],
                      [ 332749.49333611998,5128332.2102522003],
                      [ 333953.37653145002,5129153.9083062001],
                      [ 333972.48578852002,5129822.7323035998],
                      [ 332615.72853664,5129880.0600747997],
                      [ 331889.57676804002,5130491.5563009996] ] ],
                "type" : "Polygon"
              }

И мой объект таков:

public class Geometry {


    private String type;
    private Object coordinates;

    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    public Object getCoordinates() {
        return coordinates;
    }
    public void setCoordinates(Object coordinates) {
        this.coordinates = coordinates;
    }
}

Если я изменю свой класс геометрии на double[] координаты, он будет работать, но только с точечной геометрией.

Я использую Struts2 2.1.8 с плагином JSON.

Большое спасибо.

1 Ответ

0 голосов
/ 21 октября 2010

Вы должны попытаться определить "координаты" как список.

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