【发布时间】:2012-06-26 10:38:41
【问题描述】:
我正在将 json 数据发送到另一个 jsp 页面 - 进行真正的测试。
您在我的 jsp 的文本字段中输入 JSON 格式的字符串。我通过一个表单请求提交这个,由 jquery 处理处理。它被发送到接收者 JSP。我正在使用以下代码来执行此操作。
在发送之前,我使用以下方法获取数据:
jsonData = $form.find( 'textarea[name="jsonData"]' ).val();
然后我会这样做:
var parsedJsonObject = $.parseJSON(jsonData);
这是我的发送代码:
$.ajax({
type: "POST",
url: "receiver.jsp",
data: "jsonData=" + parsedJsonObject, // This is an object, created using parseJSON
success: function(data, textStatus, jqXHR) {
alert('Success : ' + data);
alert('textStatus : ' + textStatus);
alert('jqXHR : ' + jqXHR);
var jsonJqXHR = JSON.stringify(jqXHR);
alert('jsonJqXHR : ' + jsonJqXHR);
},
error:function (xhr, ajaxOptions, thrownError){
alert('Error xhr : ' + xhr.status);
alert('Error thrown error: ' + thrownError);
},
//complete: alert('complete'),
dataType: "text" // xml, json, script, text, html
});
在我的 JSP 中,我做了一个:
String jsonData = request.getParameter("jsonData");
System.out.println("jsonData : " + jsonData);
这将返回以下输出:json : "[object Object]"
如何反序列化它?我用gson做了一些事情,但是当我尝试过时:
Gson gson = new Gson();
String json = gson.toJson(obj);
System.out.println("json = " + json); // I still get an output of: json = "[object Object]"
gson.fromJson(json, MyClass.class);
我得到一个错误:
servlet jsp threw exception: com.google.gson.JsonParseException: Expecting object found: "[object Object]"
谁能帮我从对象中取出这些数据?
【问题讨论】:
-
是什么
obj让gson.toJson(obj);给你"[object Object]"?