1

我是使用 Java 开发 Web 应用程序的新手。我正在尝试建立 AJAX 调用。这是我创建的一些任意代码。

小服务程序

        Map<String, String> testJson = new HashMap<String, String>();
    String Key = "someKey";
    String Value = "someValue";

    testJson.put(Key, Value);

    response.setContentType("application/json");
    response.setCharacterEncoding("UTF-8");
    response.getWriter().write(new Gson().toJson(testJson));
}

jQuery

    $(document).on("click","#register-user", function(){
    $.ajax({
        type: 'GET',
        url: 'Register',
        success: function(data){
            alert($.parseJSON(data));
        }
    });
    return false;
});

回调函数在没有任何 Json 的情况下工作,因此 AJAX 很好。但是当我尝试发回一个用 Json 编码的 Java 对象时,我得到一个“未捕获的异常。意外的令牌 o”。我究竟做错了什么?

4

1 回答 1

1

尝试这个

Gson gson = new GsonBuilder().create();
String json = gson.toJson(testJson);

或尝试一些类似的东西

 Type typeOfMap = new TypeToken<Map<String, String>>() {}.getType();
 String json = gson.toJson(map, typeOfMap);

链接上的更多示例

然后返回字符串 JSON

于 2013-06-05T01:12:18.553 回答