Ok, j'ai une Java Servlet qui retourne du JSON (In Application/JSON format). Pour ce faire, j'utilise la librairie GSON.Réponse Parse JSON de Servlet
La méthode Servlets GET prend un paramètre, ID. Le servlet semble fonctionner, par exemple, le chrome montre ma demande GET AJAX retour ce qui suit lorsque l'ID [Réservation] paramater est envoyé 1.
0: {WidgetID:46, BookingID:1, X:393, Y:50, Content:Test1}
1: {WidgetID:47, BookingID:1, X:337, Y:251, Content:Test2}
2: {WidgetID:48, BookingID:1, X:97, Y:198, Content:Test3}
Le problème que je suis est avec l'analyse de cette réponse. Voici mon code JS:
loadPositions() { var BookingID = if (BookingID != null && BookingID != "null") { var data = {"id" : BookingID}; $.getJSON("Widget", data, function(data) { // Successfully got all this bookings widgets as JSON, TODO: Parse this! }); } }
Que dois-je mettre dans le "TODO: Parse ce" section? Je veux foreach sur tous les éléments, et saisir leurs données. Je suis vraiment nul avec ce truc de JQuery.
Exécutez votre JSON via http://jsonlint.com/ - est-il valide? –
Je ne le pense pas: JSON exige que les clés soient des chaînes, entourées de guillemets, et que les valeurs soient ints ou, encore une fois, des chaînes entourées de guillemets doubles. – bdares
Je pense que JQuery mange mon JSON? Comme si je vais à http: // localhost: 8080/BookingSystem/Widget? Id = 1 dans mon navigateur, j'obtiens différent (valide) JSON: [{"WidgetID": 46, "BookingID": 1, "X": 393, "Y": 50, "Contenu": "Test1"}, {"WidgetID": 47, "BookingID": 1, "X": 337, "Y": 251, "Contenu": "Test2"} , {"WidgetID": 48, "BookingID": 1, "X": 97, "Y": 198, "Contenu": "Test3"}] –