大家好我试着解析json。我有简单的json像like this
我尝试解析这个json,但结果是null。我不知道我做错了什么 这是我的代码
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);
}
}
}
如果有人知道解决方案帮助我,我做错了什么
我有这个错误 执行doinbackground()
时发生错误答案 0 :(得分:1)
您发布的Json不包含任何数组。它是一个JSON对象。 Json数组以[
开头。您可以从here了解有关JSON的更多信息。
现在,关于解析:
按如下方式进行:
try {
JSONObject jsonObject = json.getJSONObject("data");
String pNumber = jsonObject.getString("PNumber");
} catch (JSONException e) {
e.printStackTrace();
}