无法在[源代码:java.io]处的START_对象标记外反序列化java.util.ArrayList的实例。StringReader@505fd738;行:1,列:1]

无法在[源代码:java.io]处的START_对象标记外反序列化java.util.ArrayList的实例。StringReader@505fd738;行:1,列:1],java,Java,我在进行反序列化时出错 我有一个URL,通过使用下面sb变量中的代码,我从该URL获取JSON数据,但是如何使用此代码对其进行反序列化 我的JSON数据是: { "status": "success", "msg": [ { "fav_food": "roti", "user_name": "123", "email": "123@gmail.com" }, { "fav_food":

我在进行反序列化时出错

我有一个URL,通过使用下面
sb
变量中的代码,我从该URL获取JSON数据,但是如何使用此代码对其进行反序列化

我的JSON数据是:

 { "status": "success",
   "msg": [
            { "fav_food": "roti",
              "user_name": "123",
              "email": "123@gmail.com" },
            { "fav_food": "iii",
              "user_name": "343",
              "email": "234@gmail.co" },
            { "fav_food": "paneer",
              "user_name": "343",
              "email": "343@gmail.com"}
          ]
 }
代码:

package.com.pack;
导入java.io.BufferedReader;
导入java.io.IOException;
导入java.io.InputStream;
导入java.io.InputStreamReader;
导入java.io.OutputStream;
导入java.io.PrintWriter;
导入java.net.HttpURLConnection;
导入java.net.URL;
导入java.util.ArrayList;
导入java.util.HashMap;
导入java.util.List;
导入java.util.Map;
导入javax.servlet.http.HttpServlet;
导入javax.servlet.http.HttpServletRequest;
导入javax.servlet.http.HttpServletResponse;
导入javax.servlet.http.HttpSession;
导入com.fasterxml.jackson.annotation.JsonIgnoreProperties;
导入com.fasterxml.jackson.core.type.TypeReference;
导入com.fasterxml.jackson.databind.ObjectMapper;
@抑制警告(“串行”)
@JsonIgnoreProperties(ignoreUnknown=true)
公共类集合到jacksonJsonServlet扩展了HttpServlet{
公共void doGet(HttpServletRequest-req、HttpServletResponse-resp)抛出
IOException{
分别为setContentType(“文本/html”);
PrintWriter out=resp.getWriter();
Map contacts=newhashmap();
ObjectMapper ob=新的ObjectMapper();
列表l=新的ArrayList();
URL=新URL(“https://api-demo-py.appspot.com/getAllUsers");
HttpURLConnection请求=(HttpURLConnection)url.openConnection();
request.connect();
StringBuilder sb=新的StringBuilder();
BufferedReader br=新的BufferedReader(新的
InputStreamReader(request.getInputStream());
弦线;
尝试
{
//通过bufferedReader从urlConnection读取
而((line=br.readLine())!=null)
{
某人附加(行);
}
br.close();
}
捕获(例外e)
{
e、 printStackTrace();
}
系统输出打印LN(sb);
字符串jsonString=sb.toString();
l=ob.readValue(jsonString,newTypeReference(){});
} 
}

您必须反序列化到以下对象:

class Wrapper {
    public String status;
    public List<Data> msg;
}
类包装器{
公共字符串状态;
公共列表消息;
}
class Wrapper {
    public String status;
    public List<Data> msg;
}