0

我正在将 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]"

任何人都可以帮助我从对象中获取这些数据的方式吗?

4

2 回答 2

1

在您的 AJAX 调用中,data: "jsonData=" + parsedJsonObject不执行您的意图:

它只是给你一个类似的字符串[object Object],而不是你正在寻找的 JSON 表示。

使用data: "jsonData=" + JSON.stringify(parsedJsonObject)或一些 jQuery 等价物。

于 2012-06-30T11:00:51.250 回答
0

http://www.kodejava.org/examples/585.html

您需要一个类将其映射到相同的字段。您要发送哪些字段以及您尝试将其映射到的类中有哪些字段?

将 JSON 粘贴到此处并验证它是否正常且不是无效的,并且您的字段是否匹配。

http://jsonformatter.curiousconcept.com/

http://jsonviewer.stack.hu/

http://www.jsonviewer.com/

或获取 JSON 插件

https://addons.mozilla.org/en-US/firefox/addon/jsonview/

于 2012-06-30T12:01:04.443 回答