Отправка и получение объекта JSON через DWR

#java #javascript #json #dwr

#java #javascript #json #dwr

Вопрос:

Я использую DWR в своем проекте для вызовов AJAX. DWR преобразует объекты javascript в объекты Java путем чтения класса java. Я хочу отправлять и получать структуру, подобную JSON, через DWR.

Например:

Объект JS:

 {
  "name" : "TamilVendhan",
  "age" : "24",
  "hobbies" : [
    "gaming",
    "gaming",
    "gaming"
  ],
  "address" : {
    "doorNo" : "122",
    "city" : "Banglore",
    "state" : "Karnataka",
    "country" : "india"
  }
}
  

Приведенный выше объект js может быть преобразован в Java, как показано ниже :

 Map<String, Object> map = new HashMap<String, Object>();
map.put("name", "TamilVendhan");
map.put("age", "24");
List<String> list = new ArrayList<String>();
list.add("gaming");
list.add("gaming");
list.add("gaming");
map.put("hobbies", list);
Map<String, Object> addr = new HashMap<String, Object>();
addr.put("doorNo",122);
addr.put("city", "banglore");
addr.put("state", "Karnataka");
addr.put("country", "India");
map.put("address", addr);
  

Возможно ли это с помощью DWR. Если возможно, дайте мне несколько советов!

Спасибо!


Обновить:

Преобразование объектов JS в Map<String, Object> возможно в DWR. Но это только один (1-й) уровень. Если у вас есть какие-либо вложенные объекты / массив, он не будет преобразован и заканчивается на conversion error .

Смотрите этот тикет.

Комментарии:

1. @nfechner: Спасибо за редактирование, чувак. Я исправлю это в своем следующем вопросе.

Ответ №1:

Последняя версия DWR поддерживает json, вам необходимо включить в вашем web.xml передав init-param для сервлета DWR, более подробную информацию можно найти на, также для DWR есть хорошая книга под названием «Приложения DWR Java AJAX».

Комментарии:

1. Я рассматривал это ранее. Это только один способ (Java —> JS). Это не может быть сделано наоборот, по крайней мере, на данный момент. Возможно, в dwr 4.0 смотрите обновление моего вопроса.