-1

我有一个问题如何将 JSONObject 或 String 转换为整数..

我将数据作为 JSONObject 发送一次

    @GET
@Produces(MediaType.APPLICATION_JSON)
public JSONObject sayJSONHello() {      

    JSONArray numbers = new JSONArray();

    numbers.put(1);
    numbers.put(2);
    numbers.put(3);
    numbers.put(4);             

    JSONObject result = new JSONObject();

    try {
        result.put("numbers", numbers);
    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    return result;
}

还有一个作为字符串

@Path("/test")
public class Hello {

@GET
@Produces(MediaType.APPLICATION_JSON)
public String sayJSONHello() {      

    String myString =null;

    try 
    {           
         myString = new JSONObject().put("data", "1 2 4").toString();           
    } 

    catch (JSONException e)
    {           
        e.printStackTrace();
    }

    return myString;
}

然后,我遇到了如何将这些数据作为 Int 接收的问题。我试过这样(客户端):

  Syste m.out.println(service.path("rest").path("hello").accept(MediaType.APPLICATION_JSON).get(String.class));  
           System.out.println(service.path("rest").path("test").accept(MediaType.APPLICATION_JSON).get(String.class));  
  String k = service.path("rest").path("test").accept(MediaType.APPLICATION_JSON).get(String.class);

   //  ERROR  int temp = Integer.parseInt(k);

谁能建议如何处理它?

4

1 回答 1

0

Your variable k is storing the whole JSON. You would need to parse the JSON object first and then pull out the specific integer (I assume in the array?) that you want.

于 2013-11-13T16:45:10.003 回答