【发布时间】:2017-02-07 23:34:32
【问题描述】:
我想从 HttpServletRequest 中获取 Json 键值。
我的 Java 代码如下所示
import java.io.BufferedReader;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.json.HTTP;
import org.json.JSONException;
import org.json.JSONObject;
@WebServlet("/Service")
public class Service extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException, JSONException {
StringBuffer jb = new StringBuffer();
String line = null;
try {
BufferedReader reader = request.getReader();
while ((line = reader.readLine()) != null) {
jb.append(line);
}
} catch (Exception e) {
}
try {
JSONObject jsonObject = HTTP.toJSONObject(jb.toString());
String email = jsonObject.getString("email");
} catch (Exception e) {
}
}
}
发布 JSON
{
"email": "test@xyz.com",
"fname": "test01"
}
我使用 JSONObject jsonObject = HTTP.toJSONObject(jb.toString()); 低于 JSON 输出
{"\"test@xyz.com\",\t\"fname\"":"\"test01\"}","Request-URI":"email","Method":"{","HTTP-Version":":"}
使用String email = jsonObject.getString("email");我没有得到任何价值
我正在通过 JAVA 使用 Eclipse Mars 1。
【问题讨论】:
标签: java