Übergabe von JSON-Daten vom Servlet an JSP an JS-Datei

Ich habe dieses Servlet, das JSON-Daten erstellt, und möchte diese Daten an eine JSP-Seite weiterleiten, die die Daten über das InfoVis-Toolkit anzeigen soll.

servlet.java

JSONObject json = new JSONObject();
    JSONArray toplevel = new JSONArray();
    JSONObject sublevel;

    try{

        json.put("id", "node" + 0);
        json.put("name", "name" + 0);

        int count = 5;
        for(int i=1; i < count; i++){
            sublevel = new JSONObject();
            sublevel.put("id", "node" + i);
            sublevel.put("name", "name" + i);
            toplevel.put(sublevel);
        }
        json.put("children", toplevel);
    } catch (JSONException jse) {

    }

    request.setAttribute("jsonString", json.toString());
    RequestDispatcher dispatcher = request.getRequestDispatcher("graph.jsp");
    dispatcher.forward(request, response);

Der folgende Code wird vom InfoVis Toolkit bereitgestellt, und ich bin nicht sicher, ob er geändert werden kann. Zumindest habe ich nicht genug Erfahrung mit JS, um das zu ändern.

graph.jsp

<body onload="init('${jsonString}');">

spacetree.js

function init(jsonString){

    var json = jsonString;

Ursprünglich ist der Funktionsaufruf nur

<body onload="init()">

aber die init () - Funktion hat die JSON-Variable fest codiert, was natürlich überhaupt nicht nützlich ist. Also suche ich nach einer Möglichkeit, dies dynamisch zu gestalten. Aber da es Anführungszeichen innerhalb des Strings gibt, wird der Funktionsaufruf onload = init () total durcheinander gebracht.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage