响应 byte[] 到 String[]

Response byte[] to String[]

我从服务器收到一个带有访问令牌信息的 byte[] 响应:

 @Override
 public void onSuccess(int statusCode, Header[] headers, byte[] response) {
     Log.d("RESPONSE: ", new String(response));           
 }

响应是:

D/RESPONSE:﹕ {"access_token":"8863e1a8c16e2ce70b4d5a04a209e265bc1efe91","expires_in":3600,"token_type":"Bearer","scope":null}    

我如何解析此响应以轻松获取响应的任何对象(access_token、expires_in、token_type、范围)?

我了解到您需要将响应从字符串转换为 POJO。你可以使用 jackson API 来做到这一点。 Here 是一个例子。

负责转换的行是

 mapper.readValue(new File("c://temp/employee.json"), Employee.class);

是否这样做:

 try {
      JSONObject object = new JSONObject(new String(response));
      accessToken = object.getString("access_token");
  } catch (JSONException e) {
      e.printStackTrace();
  }