Java Json数组作为对android客户端的响应

Java Json数组作为对android客户端的响应,java,json,gson,Java,Json,Gson,我有一个需求,其中json数组响应应该如下所示 [{“等级”:231,标题:“《猎人之夜》”,{“等级”:232,标题:“《加勒比海盗:黑珍珠的诅咒》”,{“等级”:233,标题:“《拉甘:印度的一个时代》”,{“等级”:234,标题:“《天空中的城堡》”, android客户端接收到的这个响应被相应地解析,不知何故,我无法生成正确的响应结构 我现在非常感谢你的帮助 @WebServlet("/JsonHost") public class JsonHost extends HttpServl

我有一个需求,其中json数组响应应该如下所示

[{“等级”:231,标题:“《猎人之夜》”,{“等级”:232,标题:“《加勒比海盗:黑珍珠的诅咒》”,{“等级”:233,标题:“《拉甘:印度的一个时代》”,{“等级”:234,标题:“《天空中的城堡》”,


android客户端接收到的这个响应被相应地解析,不知何故,我无法生成正确的响应结构

我现在非常感谢你的帮助

@WebServlet("/JsonHost")
public class JsonHost extends HttpServlet {
    private static final long serialVersionUID = 1L;

    int rank;
    int title;

    protected void doGet(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {

        PrintWriter out = response.getWriter();
        // get request parameters for userID and password

        String[] movie = {
                "The Shawshank Redemption",
                "The Godfather",
                "The Godfather: Part II",
                "The Dark Knight",
                "Pulp Fiction",
                "Schindler's List",
                "12 Angry Men"..............};


int offset=0;
    int limit=20;

        if (request.getParameter("offset") != null)
            offset = Integer.parseInt(request.getParameter("offset"));
        System.out.println("offset value:" + offset);


        JSONArray mJSONArray = new JSONArray(Arrays.asList(movie));

    //  System.out.println(gn.toJson(mJSONArray));

        //out.println(gn.toJson(mJSONArray));

        String m[][] = new String[20][20];

        for (int rank = 0; rank < offset + limit && rank < movie.length; rank++){
                for (int title = 0; title < offset+limit; title++) {

                    m[rank][title] = movie[title];



                //  System.out.println(m[rank][title]);
                    out.println(gn.toJson(m[rank][title]));
                }

            }


        }

    protected void doPost(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {

        doGet(request, response);
    }

}
@WebServlet(“/JsonHost”)
公共类JsonHost扩展了HttpServlet{
私有静态最终长serialVersionUID=1L;
整数秩;
int标题;
受保护的无效数据集(HttpServletRequest请求,
HttpServletResponse响应)引发ServletException,IOException{
PrintWriter out=response.getWriter();
//获取用户ID和密码的请求参数
字符串[]电影={
“肖申克的救赎”,
“教父”,
“教父:第二部分”,
“黑暗骑士”,
“低俗小说”,
“辛德勒名单”,
“12个愤怒的人”;
整数偏移=0;
整数极限=20;
if(request.getParameter(“offset”)!=null)
offset=Integer.parseInt(request.getParameter(“offset”);
System.out.println(“偏移值:“+offset”);
JSONArray mJSONArray=新的JSONArray(Arrays.asList(movie));
//System.out.println(gn.toJson(mJSONArray));
//out.println(gn.toJson(mJSONArray));
字符串m[][]=新字符串[20][20];
对于(int-rank=0;rank
要使用Gson,您可以执行以下操作:

  • 为您的电影创建一个类,如下所示:

    public class Movie {
    
               private int rank;
        private String name;
    
        public Movie(int rank, String name) {
            this.rank = rank;
            this.name = name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getName() {
            return name;
        }
    
        public void setRank(int rank) {
            this.rank = rank;
        }
    
        public int getRank() {
            return rank;
        }
    }
    
  • 列出您的电影列表,如:

    List<Movie> movies = new ArrayList<Movie>();
    
  • 将列表转换为Json:

    Gson gson = new Gson();
    
    String movieJsonList = gson.toJson(movies);
    
  • 您可以看到字符串
    movieJsonList
    将是:


    [{“等级”:1,“名字”:“肖申克的救赎”},{“等级”:2,“名字”:“教父”}]

    这是你的任务。我希望它能帮助你

    JSONArray array=new JSONArray();
        int index=0;
        for(int i=231;i<235;i++){
            JSONObject jsonObject=new JSONObject();
            jsonObject.put("rank", i);
            jsonObject.put("title", movie[index++]);
            array.put(jsonObject);
        }
    
    JSONArray数组=新的JSONArray();
    int指数=0;
    
    对于(int i=231;i您尝试过的内容请分享谷歌关于
    Gson
    jackson
    我尝试过使用Gson,只是我不知道如何生成正确的结构,我已经编辑了一些代码,请检查@NinadPingale@Lrrr我在使用Gson,但是结构不正确,我在实现它的时候出了问题我想请检查一下抱歉这是Gson课程的一个对象我必须在编辑@LRRRU时忽略它谢谢它太简单了但我想我需要你给我指路谢谢你的建议,我学到了一些东西尽管这不是我想要的
    JSONArray array=new JSONArray();
        int index=0;
        for(int i=231;i<235;i++){
            JSONObject jsonObject=new JSONObject();
            jsonObject.put("rank", i);
            jsonObject.put("title", movie[index++]);
            array.put(jsonObject);
        }