Je poste un AJQ POST jQuery sur un servlet et les données sont sous la forme d'une chaîne JSON. Il est posté avec succès mais du côté de la servlet j'ai besoin de lire ces paires clé-val dans un objet de session et de les stocker. J'ai essayé d'utiliser la classe JSONObject mais je ne suis pas capable de l'obtenir.LIRE une chaîne JSON dans le servlet
Heres l'extrait de code
$(function(){
$.ajax(
{
data: mydata, //mydata={"name":"abc","age":"21"}
method:POST,
url: ../MyServlet,
success: function(response){alert(response);
}
});
Du côté Servlet
public doPost(HTTPServletRequest req, HTTPServletResponse res)
{
HTTPSession session = new Session(false);
JSONObject jObj = new JSONObject();
JSONObject newObj = jObj.getJSONObject(request.getParameter("mydata"));
Enumeration eNames = newObj.keys(); //gets all the keys
while(eNames.hasNextElement())
{
// Here I need to retrieve the values of the JSON string
// and add it to the session
}
}
Pourquoi ne pas créer un objet javascript mydata contenant mydata.name, mydata.age? Alors vous pourriez juste tirer les paramètres spécifiques dans votre servlet au lieu de décoder json? – dmcnelis
Je ne peux pas 'cos les clés-vals peuvent varier d'un POST à l'autre – sv1
Vous pourriez, lorsque dans votre fonction décoder le json avec JQuery, fwiw. Ne pas dire que ce devrait être votre solution, mais cela permettrait d'accomplir la même chose. – dmcnelis