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