1

私はサーブレットでやろうとしています:

JSONObject json = new JSONObject();
json.put( "eventContent", "event" );
String script = "var object= " + json.toJSONString() + ";";
response.getWriter().print( something + script + another );

スクリプトの内容はもちろん次のとおりです。

var object = {"eventContent":"event"};

しかし、この文字列を JavaScript 関数にレンダリングし、既存の JavaScript オブジェクト「イベント」を参照しようとします。したがって、引用符なしで JSON Sting の値が必要です。

var object = {"eventContent":event};

助言がありますか?:)

どうもありがとう

4

1 に答える 1

2

変数を参照してはならないので、実際にはJSONではないと思います。JSONStringとにかく、このようにインターフェースを実装することで、必要なものを取得できます。

public static void main(String[] args) throws JSONException {
    JSONObject json = new JSONObject();
    json.put( "eventContent", new JSONVariable("event") );
    System.out.println("var object= " + json.toString() + ";");
}

private static class JSONVariable implements JSONString { // implements JSONAware with com.googlecode.json-simple
    private final String name;

    public JSONVariable(String name) {
        this.name = name;
    }

    @Override
    public String toJSONString() {
        return name;
    }
}
于 2012-09-11T12:19:23.793 に答える