Java 使用JSON数据在servlet内设置参数
我找不到任何关于我具体问题的教程,所以我把我的问题贴在这里 我有一个Java 使用JSON数据在servlet内设置参数,java,json,servlets,jakarta-ee,Java,Json,Servlets,Jakarta Ee,我找不到任何关于我具体问题的教程,所以我把我的问题贴在这里 我有一个poll.json文件 { "poll": { "title": "About your preferences", "questions": [ "Which color do you like best?", "What is your lucky number?", "Why?" ] }
poll.json
文件
{
"poll": {
"title": "About your preferences",
"questions": [
"Which color do you like best?",
"What is your lucky number?",
"Why?"
]
}
}
我想从表中获取“title”内容,并将其设置为正文中h1标记内的值,如下所示:
out.println("<h1>Servlet NewServlet at " + title + "</h1>");
要从请求中读取json对象,我需要执行以下操作:
StringBuffer jb = new StringBuffer();
String line = null;
AjaxActionRequestMessage actionReqMessage= null;
try {
BufferedReader reader = request.getReader();
while ((line = reader.readLine()) != null){
jb.append(line);
}
actionReqMessage = new Gson().fromJson(jb.toString(), AjaxActionRequestMessage.class);
} catch (Exception e){
e.printStackTrace();
}
AjaxActionRequestMessage是一个类,它反映了您接收的json,可以使用gson进行实例化。我可以在您打印请求的代码中看到它,而不是打印标题?您是否进行了调试以查看
jsonObject
中的内容?@henriqueromao不,老实说,我甚至不知道是否要将代码插入doGet()中方法JsonReader=Json.createReader(新的StringReader(jsonString))代码>当前读取一个空的String@Ishnark是的,我明白了,设置阅读器的正确方法是什么?谢谢你的回答。你能在我的代码中实现你的答案吗?因为我甚至不知道在哪里插入这个代码如果你使用doPost()中的POST发送json,doGET()中的otherways;在哪里指定文件的路径就在这里I getClass().getResourceAsStream(“poll.json”);以下是文件的路径:C:\Users\user\Documents\NetBeansProjects\assignments\poll\poll.json
StringBuffer jb = new StringBuffer();
String line = null;
AjaxActionRequestMessage actionReqMessage= null;
try {
BufferedReader reader = request.getReader();
while ((line = reader.readLine()) != null){
jb.append(line);
}
actionReqMessage = new Gson().fromJson(jb.toString(), AjaxActionRequestMessage.class);
} catch (Exception e){
e.printStackTrace();
}