【问题标题】:Servlet+jQuery/Ajax - Unexpted token oServlet+jQuery/Ajax - 意外的标记 o
【发布时间】:2013-05-31 13:28:08
【问题描述】:

我是使用 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”。我做错了什么?

【问题讨论】:

  • 可以提供data的内容吗?

标签: java jquery ajax servlets gson


【解决方案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);

link上面的更多示例

然后返回 Stringed JSON

【讨论】:

  • 在 gson 包中似乎找不到 TestTypes 类。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-06-28
  • 2019-03-24
  • 2023-04-08
  • 2021-08-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多