【问题标题】:Rest response issue || arraylist inside list休息响应问题 ||列表内的数组列表
【发布时间】:2017-11-14 08:14:33
【问题描述】:

我是重新响应的新手

我的 api 返回响应为:

{"response":"{}{}{}{}","status":"OK","statusMsg":"Successful"}

我的 js 无法读取此响应。

我想回复如下:

{"response":["{},{},{},{}"],"status":"OK","statusMsg":"Successful"}

下面是我的代码sn-p:

public static Response buildRestResponse(List object, HashMap<Long,HashMap<String,String>> newCol, String headerName, String headerValue) throws JSONException
  {

    RestResponse resp = new RestResponse();
    resp.setStatus(Response.Status.OK);
    ArrayList rows = new ArrayList<>();
    List<Map<String, Object>> rows1 = new ArrayList<>();
    // loop through the obect reveived as parameter
    for (int i=0;i<object.size();i++){
       classA res = (classA) object.get(i);
        try{
            //loop through the new columns
            Iterator it = newCol.entrySet().iterator();
            //JSONObject row = new JSONObject()
            Map<String, Object> row = new HashMap<>();
            row.put("id", res.getId());row.put("name", res.getName());row.put("status",res.getStatus());

            while (it.hasNext()){
                Map.Entry pair = (Map.Entry) it.next();
                if ((Long)pair.getKey() == res.getId()){
                    HashMap<String,String> value = 
                                 (HashMap<String,String>)pair.getValue();
                    Iterator iter = value.entrySet().iterator();
                    while(iter.hasNext()){
                        Map.Entry values = (Map.Entry) iter.next();
                        String proValue = (String)values.getKey();
                        row.put(proValue, (String)values.getValue());
                    }

                }
            }

            rows1.add(row);
        }
        catch(Exception e){
            e.printStackTrace();
        }

    }
    rows.add(rows1);
    resp.setResponse(rows);

    resp.setStatusMsg("Successful");

    Response.ResponseBuilder responseBuilder = Response.status((Response.Status)Response.Status.OK).entity((Object)resp);
        responseBuilder.header(headerName, (Object)headerValue);
        return responseBuilder.build();
  }

在我的 Javascript 中,我尝试获取 results.response 什么都不返回

【问题讨论】:

    标签: javascript java rest arraylist


    【解决方案1】:

    请说明在 resp.setResponse(rows) 中设置了什么; 在这个方法里面,有一个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-11
      • 1970-01-01
      • 2012-02-12
      • 2015-03-14
      • 2021-10-18
      • 1970-01-01
      相关资源
      最近更新 更多