2015-05-09 106 views
0

我正在從一個PHP MysQl服務器收集某些信息的Android應用程序,但我面臨JSON解析器的問題,有時它有效它不起作用,它給了我這些錯誤:JSON解析器無法轉換我的字符串

E/JSON Parser﹕ Error parsing data org.json.JSONException: Value Failed of type java.lang.String cannot be converted to JSONObject 
    Caused by: java.lang.NullPointerException 

和代碼這就是產生錯誤:

try { 
       // Building Parameters 
       List<NameValuePair> params = new ArrayList<NameValuePair>(); 
       params.add(new BasicNameValuePair("username", username)); 
       params.add(new BasicNameValuePair("password", password)); 
       params.add(new BasicNameValuePair("fname", fname)); 
       params.add(new BasicNameValuePair("lname", lname)); 
       params.add(new BasicNameValuePair("email", email)); 
       params.add(new BasicNameValuePair("city", city)); 
       params.add(new BasicNameValuePair("nrc", nrc)); 
       params.add(new BasicNameValuePair("dob", dob)); 
       params.add(new BasicNameValuePair("cell", cell)); 




       Log.d("username", username); 
       Log.d("password", password); 
       Log.d("fname", fname); 
       Log.d("lname",lname); 
       Log.d("email",email); 
       Log.d("city",city); 
       Log.d("nrc",nrc); 
       Log.d("dob",dob); 
       Log.d("cell",cell); 



       Log.d("request!", "starting"); 

       //Posting user data to script 
       JSONObject json = jsonParser.makeHttpRequest(
         REGISTER_URL, "POST", params); 

       // full json response 
       Log.d("Registering attempt", json.toString()); 


       // json success element 
       success = json.getInt(TAG_SUCCESS); 
       if (success == 1) { 
        Log.d("User Profile Created!", json.toString()); 

的NullException正在由線路原因引起:

Log.d("Registering attempt", json.toString()); 
+0

嘗試將json頭添加到您要調用的url,並交叉檢查有效的json是否正在返回。點擊這裏查看..http://jsonviewer.stack.hu/ –

+0

我不明白你的意思,我是新來的Json請你自己解釋更多 – Chrome

回答

0

我認爲這裏的問題是,你沒有得到適當的JSON字符串作爲響應。確保jsonParser.makeHttpRequest(REGISTER_URL, "POST", params);行正在返回正確的jSON字符串。在那裏放置一個斷點並嘗試進行調試,以檢查您是否獲得了正確的JSON響應。希望能幫助到你。

+0

讓我試試看,謝謝。 – Chrome

+0

根據logCat一切工作正常,我管理打印json.toString的值,但是當我刪除斷點,它給了我一個空指針 – Chrome