Пример функции JavaScript, передающей данные JSON в апплет Java - PullRequest
5 голосов
/ 25 ноября 2010

Я только начал разрабатывать апплеты.Я хочу иметь возможность передавать (JSON) данные из функции javascript в метод в моем апплете.

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

Кроме того, у меня есть следующие вопросы:

  1. есть ли ограничение на размер строки JSON, которую можно передать из JSON в апплет?(если да - что это?)
  2. Можно ли сжать (сжать) длинную строку перед передачей ее из JSON в апплет?

1 Ответ

2 голосов
/ 30 ноября 2010

На стороне JavaScript вы должны использовать JSON2 для преобразования ваших данных в текст JSON, используя код

var jsn = JSON.stringify({"x": "y"});

Затем вы передаете их апплету:

var applet = document.getElementById("myApplet");
applet.setJSONData(jsn);

Вам, конечно, нужно иметь в апплете публичный метод, который вы можете вызывать.На стороне Java вы можете использовать Джексон для анализа JSON в хеш-карты Java или bean-компоненты:

public class MyApplet extends JApplet {
    public void setJSONData(String data) {
        ObjectMapper mapper = new ObjectMapper();
        Map map = mapper.readValue(data, Map.class);
        // TODO sth with map
    };
}

Будьте осторожны с кодировками не-ASCII символов, кажется, что JSONв браузере используется не всегда UTF-8, это может зависеть от поставщика браузера или кодировки HTML-страницы.

Если вы действительно любите приключения, вы можете поэкспериментировать с JSObject в плагине Java 2, вместо этогоиспользования JSON.

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