2010-11-25 10 views
5

Acabo de empezar a desarrollar applets. Quiero poder pasar datos (JSON) de una función de JavaScript a un método en mi applet.Un ejemplo de una función javascript que pasa datos JSON a un applet Java

Aunque he buscado, no puedo encontrar un ejemplo adecuado que muestre cómo hacerlo. ¿Alguien puede mostrar un enlace a un recurso que muestra cómo hacerlo, o pegar unas líneas aquí para mostrar cómo hacerlo?

Además, tengo las preguntas ff:

  1. ¿Existe un límite para el tamaño de la cadena JSON que se puede pasar de JSON para el applet? (En caso afirmativo, ¿qué es?)
  2. ¿Es posible comprimir (zip) una cadena larga antes de pasarla de JSON al applet?

Respuesta

2

En el lado JavaScript, se debe utilizar JSON2 para convertir sus datos en texto JSON, utilizando el código de

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

Luego se le pasa al applet:

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

Es necesario , por supuesto, tener un método público en su applet al que pueda llamar. En el lado de Java, puede utilizar Jackson para analizar el JSON para HashMaps Java o a las semillas:

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 
    }; 
} 

tener cuidado con las codificaciones de caracteres no ASCII, parece que el JSON producido en el navegador no es siempre la codificación UTF -8, puede depender del proveedor del navegador o de la codificación de la página HTML.

Si eres realmente aventurero, puedes experimentar con JSObject en Java Plugin 2, en lugar de usar JSON.

Cuestiones relacionadas