Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android json结果为空_Android_Json - Fatal编程技术网

Android 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";

大家好,我试着解析json。我有这样简单的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);
    }

}
公共类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堆栈