2014-03-30 69 views
0

大家好我嘗試解析JSON。我有簡單的JSON這樣like thisAndroid的JSON結果無效

我嘗試解析此JSON,但結果是零。我不知道我做錯了什麼 這是一個我的代碼

public class HomeActivity extends Activity { 
private String URL = "*****************"; 
private TextView PNumber; 

JSONArray jsonArray = null; 

public static String KEY_PNumber = "PNumber"; 
String id; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.home); 
    PNumber = (TextView) findViewById(R.id.PNumber); 
    new LoadDataAllChanelsToServer().execute(); 
} 

private class LoadDataAllChanelsToServer extends 
     AsyncTask<String, Integer, String> { 

    @Override 
    protected void onPreExecute() { 

    } 

    @Override 
    protected String doInBackground(String... urls) { 

     JSONParser jParser = new JSONParser(); 


     JSONObject json = jParser.getJSONFromUrl(URL); 

     try { 

    JSONObject jsonObject = json.getJSONObject("data"); 

    id = jsonObject.getString("PNumber"); 
} catch (JSONException e) { 
    e.printStackTrace(); 
} 

     return null; 

    } 

    @Override 
    protected void onPostExecute(String result) { 
     PNumber.setText(id); 
    } 

} 

}

什麼我做錯了,如果有人知道的解決方案幫助我感謝

我有這個errror 執行doinbackground時發生錯誤()

回答

1

您發佈的Json不包含任何數組。它是一個JSON對象。 Json數組以[開頭。您可以從here瞭解更多關於JSON的信息。

現在,關於解析:

做它,如下所示:

try { 

     JSONObject jsonObject = json.getJSONObject("data"); 

     String pNumber = jsonObject.getString("PNumber"); 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 
+0

我改變了,但什麼都沒有發生 – user3345767

+0

發佈更新後的代碼 – Nitish

+0

我更新了我的代碼 – user3345767