Android json结果为空
大家好,我试着解析json。我有这样简单的json 我试图解析这个json,但结果为空。我不知道我做错了什么 这是我的密码Android json结果为空,android,json,Android,Json,大家好,我试着解析json。我有这样简单的json 我试图解析这个json,但结果为空。我不知道我做错了什么 这是我的密码 public class HomeActivity extends Activity { private String URL = "*****************"; private TextView PNumber; JSONArray jsonArray = null; public static String KEY_PNumber = "PNumber";
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);
}
}
公共类HomeActivity扩展活动{
私有字符串URL=“****************”;
私有文本视图PNumber;
JSONArray JSONArray=null;
公共静态字符串键\u PNumber=“PNumber”;
字符串id;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.home);
PNumber=(TextView)findViewById(R.id.PNumber);
新建LoadDataAllChanelsToServer().execute();
}
私有类LoadDataAllChanelsToServer扩展
异步任务{
@凌驾
受保护的void onPreExecute(){
}
@凌驾
受保护的字符串doInBackground(字符串…URL){
JSONParser jParser=新的JSONParser();
JSONObject json=jParser.getJSONFromUrl(URL);
试一试{
JSONObject JSONObject=json.getJSONObject(“数据”);
id=jsonObject.getString(“PNumber”);
}捕获(JSONException e){
e、 printStackTrace();
}
返回null;
}
@凌驾
受保护的void onPostExecute(字符串结果){
PNumber.setText(id);
}
}
}
如果有人知道解决方案,我做错了什么?帮助我谢谢
我犯了这个错误
执行doinbackground()时出错。您发布的Json不包含任何数组。它是一个JSON对象。Json数组以
[
开头。您可以从中阅读有关Json的更多信息
现在,关于解析:
按如下方式操作:
try {
JSONObject jsonObject = json.getJSONObject("data");
String pNumber = jsonObject.getString("PNumber");
} catch (JSONException e) {
e.printStackTrace();
}
我更改了它,但什么也没发生您检查过logcat吗?只需确保在解析过程中没有发生JSONException。并尝试打印在我出现此错误时从服务器得到的响应----执行doinbackground()时发生android asynctask错误我做错了什么?发布完整的logcat堆栈