得到响应json请求与齐射

时间:2018-05-16 14:00:58

标签: android

我正在开发一个与我编写的RESTful Web服务进行通信的Android应用程序。使用Volley进行GET方法非常简单,但是我不能把手指放在POST方法上。

我如何从我的帖子请求的回复中获取字段 这是我的回复

enter code here

"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IkFXOFR"
IDgGvCSwgGU2sGL1-zdEyP9HqIpPFGnJwoRv-zDE_7Kp7s8NG4jrrquAJNmbQapMn- 
jgNbb0FXqiDOD9keaAjwJ0GyEZqxM9iLTI2GZykaIhm- 
VPpIMnC25b1Ieoqnypw2T9oyTmzFNwGYDefN_x80Go3unlzA_- 
_sAVNTGSTYGgxtIdjmsmbH8k6HKHA",

"token_type": "bearer",

"expires_in": "3600",

"resource": "urn:microsoft:userinfo",

我想只有"访问令牌"含量

这是我的代码

enter code here
private void userLogin() {
    username = editTextUsername.getText().toString().trim();
    password = editTextPassword.getText().toString().trim();

    StringRequest stringRequest = new StringRequest(Request.Method.POST, LOGIN_URL,
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    if(response.trim().equals("success")){
                        openProfile();

                    }else{
                        Toast.makeText(MainActivity.this,response,Toast.LENGTH_LONG).show();
                        token=response;





                    }
                }


            },
            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    Toast.makeText(MainActivity.this,error.toString(),Toast.LENGTH_LONG ).show();
                }
            }

            ){
        @Override
        protected Map<String, String> getParams() throws AuthFailureError {
            Map<String,String> map = new HashMap<String,String>();
            map.put(KEY_USERNAME,username);
            map.put(KEY_PASSWORD,password);
            return map;
        }
    };

    RequestQueue requestQueue = Volley.newRequestQueue(this);
    requestQueue.add(stringRequest);
}

请帮帮我?!

1 个答案:

答案 0 :(得分:0)

JSONObject创建String,并使用相应的密钥从JSONObject获取值。在onResponse方法中使用此代码从响应字符串中获取令牌:

JSONObject obj = new JSONObject(response);
String token = obj.getString("access_token");
String tokenType = obj.getString("token_type");
String expiresIn = obj.getString("expires_in");
String resource = obj.getString("resource");

如果您有RESTful Web服务,那么Retrofit是一个不错的选择。它是一个类型安全的HTTP客户端。它会自动将您的响应转换为Java 宾语。您无需手动转换它。