Petición JSON en Java

Iniciado por CaTZ, 29 Septiembre 2014, 15:49 PM

0 Miembros y 1 Visitante están viendo este tema.

CaTZ

Buenas,

Antes de nada decir que no pido una solución, sino simplemente una idea de lo que debería de hacer, ya que estoy un poco verde en este tema.

Mi problema es el siguiente:

Tengo que mostrar en el navegador una tabla (esto no hay problema xD), y que al cargar la tabla se invoque una URL mediante JSON que recupere los datos de una Base de Datos y los muestres en la tabla.

Probablemente sea una tontería pero ahora mismo no se por donde agarrarlo.

¿Alguien me podría guiar en los pasos que debo seguir para conseguir esto?

Muchas gracias de antemano.

Edit: Perdón, lo quería poner en el foro de Java y sin querer lo he puesto en Programación General.

engel lex

#1
recomiendo usar jquery, en ese caso es como explican en este link http://www.w3schools.com/jquery/ajax_getjson.asp

si lo vas a hacer directo
es más largo... algo como esto...

Código (javascript) [Seleccionar]
var xmlhttp;
var cadenajson;
var url = "miPaginaConJSON.com"
 xmlhttp=new XMLHttpRequest();
 xmlhttp.onreadystatechange=function(){
 if (xmlhttp.readyState==4 && xmlhttp.status==200){//si se cargo y la pagina esta bien
   cadenajson=xmlhttp.responseText;
   }
 }
xmlhttp.open("post",url,false);//usar true si se quiere asincrono
xmlhttp.send();
var objetoJSON=JSON.parse(cadenajson);


que valga, que coloco tooodo este código, porque eso sería lo mínimo para hacer la petición ajax y parsear json
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

CaTZ

Muchas gracias por la respuesta engel lex.

Si no es mucha molestia tengo unas cuantas dudas (seguramente debido a mi desconocimiento tanto de JSON como de Java).

Si yo quiero coger unos datos de la Base de Datos y formatearlos con JSON, ¿Cómo debería de recoger los datos?¿La URL a que se refiere exactamente? Hasta el momento lo que siempre había hecho era hacer una consulta con Hibernate y mostrar los datos en la tabla, ya que la tabla estaba pintada con JSF, pero ahora la tabla la pintamos directamente en código Java y con lo de JSON estoy perdido...

Muchas gracias!

engel lex

la url es la direccion de la pagina web de donde va a recoger los datos

para sacar los datos si por lo menos el servidor es en php, tendrías que hacer el query a la base de datos, meter los datos en un array y usar json_encode para dejarlos en formato JSON

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Pablo Videla

Primero debes tener claro como generar un objeto json y array de json en java, te dejo algo que te puede servir

http://foro.elhacker.net/java/consulta_sobre_los_map_java-t350890.0.html


Esta información no responde tu duda, pero si te va dando más datos , de a poco vas armando el rompecabezas.

Y por si no conoces la estructura JSON

http://www.jsoneditoronline.org/

MinusFour

¿Tienes un objeto JSON con el cual trabajar? ¿o porque estás usando JSON?

CaTZ

Gracias a todos por contestar :)

Ahora mismo me miro tus links DonVidela.

MinusFour estoy usando JSON simplemente porque me han dicho que lo haga de esta forma xD y por eso estoy perdido, porque nunca lo había usado y el tema de recoger los datos de una BBDD, parsearlos con JSON y pintarlos para que lo muestre el navegador pues me suena un poco raro todo :S

Me tengo que poner un poco al día con todo esto xd

MinusFour

¿Entonces ya no estás usando JSF y estás usndo JSPs?

Suponiendo que todo lo quieres hacer através de JSPs, vas a necesitar crearte uno que genere el objeto JSON y otro que lo parsee.

Puedes usar:

https://github.com/douglascrockford/JSON-java

CaTZ

Buenas MinusFour,

No uso ni lo uno ni lo otro. Estamos pintando la tabla directamente en código Java con el framework Vaadin (parecido a Swing). ¿El por qué usar JSON? No lo se, ya que no entiendo mucho de esto :S

En resumen...lo que tendría que hacer es: hacer una consulta a la BBDD y recoger en una lista todos los registros. parsear la lista a un objeto JSON y pintar la tabla con ese objeto, ¿sería así o me lo acabo de inventar y me faltan cosas? xD

Pablo Videla

Tienes algo de codigo? interactuar con objetos JSON es super simple, cuando lo hagas te darás cuenta, si nos puedes aportar con algun codigo te podríamos ayudar de formas mas completa.