在发送Web服务时,Arraylist将成为字符串

时间:2013-10-31 08:39:07

标签: java json web-services arraylist jersey

 JSONObject myObject = new JSONObject();
  try {


        testVoList.add(new TestVO(1L, "HAI1"));
        testVoList.add(new TestVO(2L, "HAI2"));

        myObject.put("name", testVoList);          


    } catch (JSONException ex) {
     }
    String s = URLEncoder.encode(myObject.toString(), "UTF-8");     
    URL url = new URL("urlName/"+s);

WEREERVICE中的代码以获取数据:

@POST
@Path("/urlName/{test}")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public String saveSurveyresponseData(@PathParam("test") JSONObject responseData)
{
     JSONArray.fromObject(responseData.getString("name")).get(0);           
            return "HAI";
}

我在这里得到test.TestVO@c2ea3f(Hashcode)

JSONArray.fromObject(responseData.getString("name")).get(0);

如何在我的网络服务中访问我的对象列表值。

你能给我一个解决方案吗?

1 个答案:

答案 0 :(得分:0)

我相信以下声明:

 JSONArray.fromObject(responseData.getString("name")).get(0);

正在返回列表。因此,只需将其分配给列表引用,如下所述:

List<TestVO> listOfTestVO = JSONArray.fromObject(responseData.getString("name")).get(0);

现在只需将元素作为:

listOfTestVO.get(1);