0

我正在尝试将 json 字符串从 js 发送到 servlet。我使用 ajax jquery 发布到 servlet。

我可以看到 servlet 帖子被调用,但是当我在 java 中检索 json 字符串时发生异常,我错过了什么

Javascript方面:

var jsonText = JSON.stringify(SomeString);

    $.ajax({
        dataType: 'json',
        url: fullpath,
        type: 'POST',
        data: jsonText 
  });

Java端:

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;
import java.io.PrintWriter;

import com.json.JSONException;
import com.json.JSONObject;
import com.json.JSONArray;

在后

    response.setContentType("application/json");    
JSONObject jObj = new JSONObject(request.getParameter("jsonText"));//Null pointer exception

错误:

 java.lang.NullPointerException
        at java.io.StringReader.<init>(StringReader.java:33)
        at com.json.JSONTokener.<init>(JSONTokener.java:84)
        at com.json.JSONObject.<init>(JSONObject.java:314)

JSON字符串:

{ "CustomerDetails": [{'name':'Amy','age':'23'},{'name':'Amj','age':'25'},{'name':'Amg','age':'27'}]}
4

2 回答 2

2

在您的POST中,没有jsonText参数。您只是将 JSON 字符串作为帖子正文发布。

尝试像这样发送它:

$.ajax({
    dataType: 'json',
    url: fullpath,
    type: 'POST',
    data: {jsonText: jsonText}
});
于 2012-08-01T16:06:41.893 回答
0

这表明没有名为 jsonText 的 POST 参数

于 2012-08-01T16:05:09.133 回答