android获取json响应

android获取json响应,android,android-networking,android-json,Android,Android Networking,Android Json,嘿,伙计们,我对Android网络概念还不熟悉。我想发送用户名、密码、,从android应用程序到php服务器的imei编号和位置。我已经完成了发送部分。现在我的问题是如何接收响应。我想根据状态1或0,我想移动到下一页。所以任何人都知道如何执行此操作。欢迎您 private static final String REGISTER_URL="http://vPC70.com/App/login.php"; username = editTextUserName.getT

嘿,伙计们,我对Android网络概念还不熟悉。我想发送用户名、密码、,从android应用程序到php服务器的imei编号和位置。我已经完成了发送部分。现在我的问题是如何接收响应。我想根据状态1或0,我想移动到下一页。所以任何人都知道如何执行此操作。欢迎您

       private static final String REGISTER_URL="http://vPC70.com/App/login.php";
     username =  editTextUserName.getText().toString().toLowerCase();
     userpassword=editTextPassword.getText().toString().toLowerCase();
     loc="11.295756,77.001890";
      imeino = "12312312456";
     register(username, userpassword, imeino, loc);

     private void register(final String username, final String userpassword, 
      String imeino, String loc) {
      String urlSuffix = "?
      username="+username+"&userpassword="+userpassword+"&imeino="+imeino
     +"&location="+loc;
      class RegisterUser extends AsyncTask<String,String , String>{

        ProgressDialog loading;


        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            loading = ProgressDialog.show(LoginActivity.this, "Please 
       Wait",null, true, true);
        }

        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            loading.dismiss();

            }

        @Override
        protected String doInBackground(String... params) {
            String s = params[0];
            BufferedReader bufferedReader = null;
            try {
                URL url = new URL(REGISTER_URL+s);
                HttpURLConnection con = (HttpURLConnection) 
           url.openConnection();
                bufferedReader = new BufferedReader(new 
           InputStreamReader(con.getInputStream()));

                String result;

                result = bufferedReader.readLine();
                return result;

            }catch(Exception e){
                return null;
            }

        }
      }
      RegisterUser ru = new RegisterUser();
      ru.execute(urlSuffix);
如果响应为1,则消息登录成功 如果响应为0,则onPostExecuteString中的PostExecute中的消息密码无效,您可以将结果转换为json并检查状态值,如

 @Override
    protected void onPostExecute(String s) {
        super.onPostExecute(s);
        loading.dismiss();
        JsonObject object = new JsonObject(s);
        if(object.optString("status").equals("1"))
          {
          // Your Logic here
         }

     }

创建POJO/Model类以转换您的响应

像这样

public class LoginResponse{

@SerializedName("Login")
@Expose
private List<Login> login = null;

public List<Login> getLogin() {
return login;
}

public void setLogin(List<Login> login) {
this.login = login;
}

}

public class Login {

@SerializedName("status")
@Expose
private String status;
@SerializedName("message")
@Expose
private String message;

public String getStatus() {
return status;
}

public void setStatus(String status) {
this.status = status;
}

public String getMessage() {
return message;
}

public void setMessage(String message) {
this.message = message;
}

}
在这里您可以检查条件:

if(response !=null && response.getLogin() !=null)
{
    if(response.getLogin().getStatus().equalIgnoreCase("1"))
     {
              // show toast Login Successfully !!! and move to next screen

     }
else if(response.getLogin().getStatus().equalIgnoreCase("0"))
    {
     // Invalid Password !!! your logic here
    }
 }

下面是根据您的响应字符串的解析器

 private void parseResponseJson(String response) throws JSONException {
    JSONObject jsonObject = new JSONObject(response).getJSONArray("Login").getJSONObject(0);
    String status = jsonObject.getString("status");
    String message = jsonObject.getString("message");
}

从服务器获得响应后,根据状态在toast中显示消息

try {
                    JSONObject jobj = new JSONObject(response);


                    String status = jobj.getString("status");

                    String msg = jobj.getString("message");

                    if (status.equals("1")) {
                        //move to next page
                        Toast.makeText(LoginActivity.this, msg,Toast.LENGTH_SHORT).show();

                    } else {
                        Toast.makeText(LoginActivity.this, msg,Toast.LENGTH_SHORT).show();

                } catch (Exception e) {
                    e.printStackTrace();
                }
简单有效的解决方案。使用谷歌的Gson库。您可以像这样轻松地从json字符串创建hashmap

Type type = new TypeToken<Map<String, String>>(){}.getType();
Map<String, String> myMap = gson.fromJson(JSONString, type);

你想解析JSON吗?你有什么想法吗你可以在karthikeyan检查我的答案
try {
                    JSONObject jobj = new JSONObject(response);


                    String status = jobj.getString("status");

                    String msg = jobj.getString("message");

                    if (status.equals("1")) {
                        //move to next page
                        Toast.makeText(LoginActivity.this, msg,Toast.LENGTH_SHORT).show();

                    } else {
                        Toast.makeText(LoginActivity.this, msg,Toast.LENGTH_SHORT).show();

                } catch (Exception e) {
                    e.printStackTrace();
                }
Type type = new TypeToken<Map<String, String>>(){}.getType();
Map<String, String> myMap = gson.fromJson(JSONString, type);