2009-05-05 9 views
1

J'ai un objet JSON passé à la page jsp. il est passé comme une chaîne. maintenant je dois analyser cette chaîne et récupérer les valeurs qui sont passées à travers l'objet JSON. afin que je puisse imprimer les valeurs dans le même jsp.lire un objet json dans jsp

Répondre

1

Il ya beaucoup de ressources, y compris les bibliothèques & plugins pour diverses technologies/frameworks sur json.org.

1

Avec des tonnes d'analyseurs JSON, il s'agit de savoir comment gérer les données dans JSON. Mon favori personnel du lot est Jackson, mais beaucoup d'autres fonctionnent bien pour les cas simples aussi, y compris la "mise en œuvre de référence" (aka JSON.org parser).

(je suppose que vous voulez un analyseur Java, référence donnée à jsp)

0

Ma solution préférée à ce problème consiste à utiliser un analyseur de JSON qui fournit une sortie qui implémente l'java.util.Map et java.util. Interface de liste. Cela permet une analyse simple de la structure JSON dans le langage d'expression JSP.

Voici un exemple utilisant JSON4J fourni avec Apache Wink. L'exemple importe les données JSON d'une URL, les analyse dans un scriptlet java et parcourt la structure résultante.

<c:import var="dataJson" url="http://localhost/request.json"/> 
<% 
String json = (String)pageContext.getAttribute("dataJson"); 
pageContext.setAttribute("parsedJSON", org.apache.commons.json.JSON.parse(json)); 
%> 
Fetch the name of the node at index 1 : ${parsedJSON.node[1].name} 

Pour que cela soit propre, il serait préférable de créer une balise JSTL pour faire l'analyse syntaxique et éviter java scriplet.

<c:import var="dataJson" url="http://localhost/request.json"/> 
<json:parse json="${dataJson}" var="parsedJSON" /> 
Fetch the name of the node at index 1 : ${parsedJSON.node[1].name} 
Questions connexes