2016-06-21 77 views
-2

我是新來的JSON解析和我使用的這個JSON如何解析以下JSON應用

{"data":{"id":171,"public_id":"RNT-POMO5","sales_user_public_id":"","email":"[email protected]","mobile_no":"2222222222","role":"sales","password":"$2y$10$Z0TQQ.EOEBqP7AkIJo429OJ4ASo.0lP5kzlj22Sejz0L7S7WE7bp6","permissions":[],"last_login":"2016-06-21 05:16:50","profile_pic":"http:\/\/sell4cell.com\/justdial_dev\/public\/uploads\/users\/profile_pic\/1d567217c228ea454a046bc7c8906ecd0b0fb567.jpg","first_name":"Gayatri","prefix_name":"0","middle_name":null,"last_name":"dd","gender":"female","d_o_b":"1970-01-01","dd":"","mm":"","yy":"","marital_status":"Married","city":"411","area":"Nashik","occupation":"","work_experience":"","street_address":"Nashik","mobile_OTP":"","home_landline":null,"std_home_landline":"","office_landline":"1234567890","std_office_landline":"","extn_office_landline":"","pincode":"422003","is_active":"1","via_social":"1","ask_for_old_password":"1","deleted_at":null,"created_at":"2016-05-02 05:29:47","updated_at":"2016-06-21 05:38:58","company_name":"","title":"","married_date":"1970-01-01","country":"1","state":"21"},"status":"SUCCESS","message":"Login successfully !"} 

這是我解析我需要登錄到主要活動,但問題JSON對象是我無法從一個切換到另一個activity.So我需要匹配「消息」,如果它成功需要切換MainActivity。

我做了什麼至今

private void login(final String email, final String password) { 

     class LoginAsync extends AsyncTask<String,String,JSONObject>{ 

      JSONParser mJSONParser = new JSONParser(); 
      private static final String LOGIN_URL = "http://sell4cell.com/justdial_dev/public/api/login"; 

      private static final String TAG_MESSAGE = "data"; 
      // private static final String TAG_STATUS = "success"; 

      @Override 
      protected void onPreExecute() { 
       super.onPreExecute(); 
       progressDialog = new ProgressDialog(MainActivity.this); 
       progressDialog.setMessage("Loading...."); 
       progressDialog.show(); 
      } 

      @Override 
      protected JSONObject doInBackground(String... args) { 

       try{ 
        HashMap<String,String> params = new HashMap<>(); 

        params.put("email",email); 
        params.put("password",password); 

        Log.d("doInBackground: ","starting"); 

        JSONObject json = mJSONParser.makeHttpRequest(LOGIN_URL,"POST",params); 
        return json; 

       }catch (Exception ex){ 
        ex.printStackTrace(); 
       } 

       return null; 
      } 


      @Override 
      protected void onPostExecute(JSONObject json) { 

       if (progressDialog != null && progressDialog.isShowing()){ 
        progressDialog.dismiss(); 
       } 

       if (json != null){ 

        try { 

         result = json.getString(TAG_MESSAGE); 
//      message =json.getString(TAG_STATUS); 
        }catch (Exception ex){ 
         ex.printStackTrace(); 
        } 
       } 


       if (message.equals("SUCCESS")){ 

        Intent intent = new Intent(getApplication(),OtherActivity.class); 
        startActivity(intent); 
        Toast.makeText(getApplicationContext(), "Login Successful.....", Toast.LENGTH_SHORT).show(); 
        finish(); 
       } 
      } 
     } 

     LoginAsync la = new LoginAsync(); 
     la.execute(email,password); 
    } 
+1

烏爾JSON是無效的:驗證烏爾JSON這裏http://json.parser.online.fr/ – KOTIOS

+0

A.Tale ur json對id標記缺少值,如「id」:「0」 – sandy

+0

無效的JSON請從服務器端更正,以檢查JSOn是否有效或無法點擊http://jsonlint.com/ –

回答

0
JSONObject j_res = new JSONObject(response); 
String msg=j_res.getString("message"); 
if(msg.equalsIgnoreCase("Login successfully !") 
{ 
    Intent intent = new Intent(getApplication(),OtherActivity.class); 
        startActivity(intent); 
} 

試試這個

0
  HttpResponse response = httpclient.execute(httppost); 
      InputStream inputStream = response.getEntity().getContent(); 
      responseServer = InputStreamToString.getStringFromInputStream(inputStream); 


      JSONObject responses = new JSONObject(responseServer); 
      String res = responses.getString("error"); 


      if (res.equals("0")) 

      { 

       JSONObject obj= responses.getJSONObject("data"); 
       String id = obj.getString("id"); 
       String public_id = obj.getString("public_id"); 

       // just do like this for all 


    } 
+0

它不是GET方法我正在使用POST方法登錄應用程序,並且我想在postExecute()方法中提取標記消息,以便我調用Intent來打開新的活動 –

+0

試一試您將獲得所需的所有詳細信息 – Abhishek

+0

這樣做在做後臺作爲字符串,然後你可以在後期使用它也執行 – Abhishek