package org.oauth2.client4j.http.response; import java.util.HashMap; import java.util.Map; import org.oauth2.client4j.common.OAuth; import org.oauth2.client4j.exception.OAuthException; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONException; public class JSONAccessTokenResponse extends OAuthResponse { protected Map<String, Object> json = new HashMap<String, Object>(); public String getAccessToken() { return getParam(OAuth.OAUTH_ACCESS_TOKEN); } public Long getExpiresIn() { String value = getParam(OAuth.OAUTH_EXPIRES_IN); return value == null ? null : Long.valueOf(value); } public Map<String, Object> getJson() { return json; } @Override public void setBody(String body) { try { super.setBody(body); json = JSON.parseObject(body); } catch (JSONException e) { // System.out.println("Invalid response! Response body is not " // + OAuth.ContentType.JSON + " encoded"); throw new OAuthException(e); } } protected String getParam(String param) { Object value = json.get(param); return value == null ? null : String.valueOf(value); } }