Wie zum Durchlaufen einer Karte arraylist in javascript?

Habe ich unten Beispiel anzeigen arraylist. Erstens, wie kann ich Zugriff auf diese arraylist von innen reines html mit javascript? Zweitens, wie kann ich die Iteration über diese Liste?

<%@page import="org.json.simple.JSONObject"%>
<%@page import="org.json.simple.JSONArray"%>
<%
JSONObject json = new JSONObject();
JSONArray  list = new JSONArray();
JSONObject course1,course2,course3,course4,course5;

course1 = new JSONObject();
course1.put("code", "ME101");
course1.put("desc", "Marine Engineering 101");
course1.put("sched", "June 1 - August 30, 2014");
course1.put("rsvd", "56");
course1.put("crssched", "cme101s1");
list.add(course1);
course2 = new JSONObject();
course2.put("code", "ME102");
course2.put("desc", "Marine Engineering 102");
course2.put("sched", "September 1 - November 31, 2014");
course2.put("rsvd", "25");
course2.put("crssched", "cme102s1");
list.add(course2);
course3 = new JSONObject();
course3.put("code", "CS101");
course3.put("desc", "Certificate on Seamanship 101");
course3.put("sched", "June 1 - June 30, 2014");
course3.put("rsvd", "36");
course3.put("crssched", "ccs101s1");
list.add(course3);
course4 = new JSONObject();
course4.put("code", "ME201");
course4.put("desc", "Marine Engineering 201");
course4.put("sched", "June 15 - July 16, 2014");
course4.put("rsvd", "65");
course4.put("crssched", "cme201s1");
list.add(course4);
course5 = new JSONObject();
course5.put("code", "ME202");
course5.put("desc", "Marine Engineering 202");
course5.put("sched", "July 1 - August 30, 2014");
course5.put("rsvd", "15");
course5.put("crssched", "cme202s1");
list.add(course5);

json.put("Courses", list);
response.setContentType("application/json");
response.getWriter().write(json.toString());

Szenario ist, dass ich html-Dateien in den webserver und ich bekomme Daten von jsp-Dateien auf einem anderen server die ich brauche, um die Anzeige in einer Tabelle in die html-Dateien mit javascript-oder jquery.

Irgendwelche Ideen?

BEARBEITEN

Basierend auf user13500 Vorschlag, ich habe mir in JSON und aktualisiert die sample-Daten vor. Es getestet zu schreiben auf der Seite und es tut drucken Sie die Schlüssel-Wert-Paare.

Wie kann ich jetzt "expose" das json-Objekt und greifen Sie von einer anderen html-Seite?

  • List<Map<String, String>> list ist nicht Javascript.
  • Nein ist es nicht. Es ist ein "sample" - Daten von jsp.
  • Beachten Sie auch, dass aus der aktualisierten code, der dazu dienen würde, die ein Objekt halten ein array holding-Objekte, und nicht ein array holding-Objekte. Und: wie Sie senden Sie die "application/json" - header sowie die Rückkehr auf die ajax-Anfrage wird nicht ein string sein, sondern das Objekt. (Also keine JSON.parse(reply) im Javascript).
  • Wenn Sie möchten, dass das array sagen list.toString() statt json.put("Courses", list); and json.toString()
  • In javascript könnte man hinzufügen, eine if (typeof responseData === "string") { responseData = JSON.parse(responseData); }
  • Wenn ich entfernen json.put("Courses",list); und json.toString() und stattdessen list.toString() es tut, drucken Sie ein array mit den Daten. Aber wie kann ich jetzt beziehen sich auf jedes array-Element? Mit der vorherigen Methode, ich kann beziehen sich auf jedes Element als json.Kurse[0].code, und so weiter.
  • Wenn du meinst in das Javascript, das wäre json[0].code, und so weiter.
  • Oh wait. Ich vermisste, dass ein Teil in deinem Beispiel. Okay, ich glaube, ich habe es jetzt.
  • Sie könnten versuchen, diese: Client Seite: pastebin.com/raw.php?i=VpUvu37q
  • Und, natürlich, Wenn Sie wollen, um weitere Daten zu senden Objekte, zum Beispiel Kurse und einigen anderen Objekt-man konnte die Methode wie im Skript z.B. json.put("courses", courses); ... json.put("users", users); ... und in Javascript könnte man dann Lesen responseData.courses und responseData.users als zwei verschiedene Objekte.

InformationsquelleAutor JNewbie | 2014-02-22
Schreibe einen Kommentar