Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用JSON数据在servlet内设置参数_Java_Json_Servlets_Jakarta Ee - Fatal编程技术网

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();
        }