2017-04-01 8 views
1

私はtutorialに従っています(正直なところ、貼り付けをコピーしていたので、なぜ動作しません私は事を変更しませんでした)、私はJsonオブジェクトに変換する必要があるこのStringレスポンスを持っています。JSONObjectを作成しようとすると、org.json.JSONObject.toString()を評価できません。

応答=

のconfig.php \ R \ nは{ "エラー":偽、 "ユーザ":{ "名前": "テスト"、 "姓": "テスト"、 "住所" : "テスト"、 "電子メール": "テスト"}}

JSONObject jObj = new JSONObject(response);try私のプログラムは、メッセージを例外にジャンプした後:

方法は、「java.lang.NullPointerExceptionが投げました'例外。 はorg.json.JSONObject.toStringを評価することはできません()

はそれがresponseか何かの構造ですか?私はそれを使用するのはここ

です:

@Override 
      public void onResponse(String response) { 
       Log.d(TAG, "Login Response: " + response.toString()); 
       hideDialog(); 

       try { 
        JSONObject jObj = new JSONObject(response); 
        boolean error = jObj.getBoolean("error"); 

        // Check for error node in json 
        if (!error) { 
         // user successfully logged in 
         // Create login session 
         session.setLogin(true); 

         // Now store the user in SQLite 

         JSONObject user = jObj.getJSONObject("user"); 
         String name = user.getString("name"); 
         String surname = user.getString("surname"); 
         String address = user.getString("address"); 
         String email = user.getString("email"); 

         // Inserting row in users table 
         db.addUser(name, surname, address, email); 

         // Launch main activity 
         Intent intent = new Intent(LoginScreen.this, 
           MainMenu.class); 
         startActivity(intent); 
         finish(); 
        } else { 
         // Error in login. Get the error message 
         String errorMsg = jObj.getString("error_msg"); 
         Toast.makeText(getApplicationContext(), 
           errorMsg, Toast.LENGTH_LONG).show(); 
        } 
       } catch (JSONException e) { 
        // JSON error 
        e.printStackTrace(); 
        Toast.makeText(getApplicationContext(), "Json error: " + e.getMessage(), Toast.LENGTH_LONG).show(); 
       } 

      } 
+0

であなたのJSONを確認することができます。 –

+0

ありがとうございました。彼らがチュートリアルでこれを言及していない理由は不思議です。コードは同じです – giedriusx3

答えて

0

はJSONオブジェクトにそれを回す前に、応答からのconfig.php \ rを\ n個のプレフィックスを削除します。

0

responseは有効なjson文字列ではありません。

RFC 7159を参照してください。

また、あなたはJSONオブジェクトにそれを回す前に、応答からプレフィックスN ' `config.phpの\ rを\を削除するオンラインjson formatter

関連する問題