So senden Sie ein JSON-array vom server zum client, d.h. (java, AJAX/Javascript)?
Habe ich folgenden JSON-array in meinem JSON.java Datei:
ArrayList array=new ArrayList();
array.add("D");
array.add("A");
array.add("L");
Ich würde gerne sende-array, um die AJAX-Skript, das sich in AJAX.jsp.
Ich weiß, wie ich den text in AJAX z.B. über
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
Aber ich weiß nicht, wie zu senden, das array vom server an den client!
Dankbar für Ihre Hilfe
Vielleicht erstellen Sie eine Eingabe auf den gerenderten HTML-Code, der enthalten ist die JSON-serialisiertes array?
Beachten Sie, dass ältere Browser-Versionen haben eine Sicherheitslücke, wenn JSON-arrays zurückgegeben werden, direkt eine Anfrage an den server, das könnte aussetzen, Ihre Kunden zu cross-site-scripting-Attacken. haacked.com/archive/2008/11/20/...
Kleinere Fehler: was Sie haben ist eine Java-Liste, nicht als JSON-array... aber Sie möchten, senden Sie es als ein JSON-array.
Beachten Sie, dass ältere Browser-Versionen haben eine Sicherheitslücke, wenn JSON-arrays zurückgegeben werden, direkt eine Anfrage an den server, das könnte aussetzen, Ihre Kunden zu cross-site-scripting-Attacken. haacked.com/archive/2008/11/20/...
Kleinere Fehler: was Sie haben ist eine Java-Liste, nicht als JSON-array... aber Sie möchten, senden Sie es als ein JSON-array.
InformationsquelleAutor DalNM | 2011-08-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erstmal ok:
Diese kann nicht kompilieren... Sie haben eine doppelte variable ein array sein 😉
Zweite: erstellen eines Servlets/Struts-Aktion/etc, die den code enthält, erstellen Sie das array. Dann wandeln es in JSON mit einem JSON-Bibliothek. Schließlich, setzen Sie den string in der Antwort Ihres servlet/Struts Action/etc.
JQuery zu erleichtern, Ihre Anstrengungen auf den Ajax-call. Es wird Ihnen helfen, mit den Ajax-call und die transformation zurück zu Json aus dem string der empfangen der http-Antwort.
Ex:
Ihre ajax-Aufruf sollte so sein, dass (mit JQuery)
und Ihr servlet sollte wie folgt Aussehen:
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
könnte Sie geben ein einfaches Beispiel, um mit zu beginnen?siehe edit in meiner Antwort.
InformationsquelleAutor Cygnusx1
Ihnen grundsätzlich die Verwendung bestimmter Klassen in java wie hier definiert: http://json.org/java/ konvertieren Sie die endgültige Ausgabe zu einem json-string und dann schicken Sie es javascript gibt, die Sie konvertieren der json-string zurück zu json Verwendung von eval oder wahrscheinlich verwenden Sie eine Bibliothek mit dem Namen json2.js und Sie sind alle gesetzt..
hier ist der code für das gleiche:
weitere http://code.google.com/p/json-simple/wiki/EncodingExamples
InformationsquelleAutor Baz1nga
Anstelle der Verwendung von org.json - Barebone-Bibliothek, wie schon vorgeschlagen, sollten Sie mithilfe von data-binding JSON-Bibliothek wie Jackson oder GSON (es gibt viele andere auch), in dem Fall kann man vereinfachen servlet-Fall (mit Jackson):
new ObjectMapper().writeValue(response.getOutputStream(), array);
und das ist alles, was Sie brauchen.
Und für noch einfachere Handhabung, JAX-RS services (Jersey, RESTeasy CXF) weiter vereinfachen das handling, reduzieren den code, den Sie benötigen im Vergleich zu raw-servlets. JAX-RS + JSON ist der moderne Weg für die Implementierung von web services auf Java, könnte also Sinn machen, es jetzt zu erfahren.
InformationsquelleAutor StaxMan
Der einfachste Weg ist Konstrukt eines json-Strings in java-Datei und Rückkehr, die json-string an den client.
Javascript bietet eine
eval()
Methode, die kehrt json-string zu json-Objekt.Dann können Sie ausführen, was immer Operationen, die Sie benötigen.
InformationsquelleAutor satlawar vijay