Android:JSONException:类型为org.json.JSONObject $ 1的VesselList的值null无法转换为JSONArray

时间:2015-09-11 04:41:25

标签: android

我正在解析JSOn对象,但有时候它会在某些时候正常运行以获得跟随错误:

  

org.json.JSONException:类型为VesselList的值为null   org.json.JSONObject $ 1无法转换为JSONArray

public void getCompanyDeatails() 
    {
        String strUrl_companyDeatls = "http://103.24.4.60/CLASSNK1/MobileService.svc/Get_Company/Sync_Time/"+strSync_Time+"/Authentication_Token/"+str_Authentication_Token;
        Log.e("strUrl_companyDeatls ", " = " + strUrl_companyDeatls);
        InputStream inputStream = null;
        try 
        {
            HttpClient httpclient = new DefaultHttpClient();
            HttpResponse httpResponse = httpclient.execute(new HttpGet(strUrl_companyDeatls));
            inputStream = httpResponse.getEntity().getContent();

            if (inputStream != null)
                strResult = convertInputStreamToString(inputStream);
            else
                strResult = "Did not work!";

        } catch (Exception e) {
            Log.d("InputStream", e.getLocalizedMessage());
        }
        String jsonStr = strResult;
        Log.e("jsonStr ", " = " + jsonStr);

        if (jsonStr != null)
            try {
                JSONObject jsonObj = new JSONObject(jsonStr);
                String jsonResult = jsonObj.toString().trim();
                Log.e("jsonResult ", " = " + jsonResult);

                JSONObject companyList = jsonObj.getJSONObject("Get_CompanyResult");
                Log.e("companyList ", " = " + companyList.toString());

                JSONArray jarr = jsonObj.getJSONArray("CompanylList");
                Log.e("jarr ", " = " + jarr.toString());

                for (int i = 0; i < jarr.length(); i++) {
                    JSONObject jobCompanyDetails = jarr.getJSONObject(i);

                    str_CompanyId = jobCompanyDetails.getString("Company_ID");
                    str_CompanyName = jobCompanyDetails.getString("Company_Name");

                    Log.e("str_CompanyId ", " = " + str_CompanyId);
                    Log.e("str_CompanyName ", " = " + str_CompanyName);

                    if (dbhelper.isTitleExist(str_CompanyId)) {
                        //Upadte
                        dbhelper.updatedetails(str_CompanyId, str_CompanyName);
                        Log.e("Data updated in ", "Company Table !!");
                    } else {

                        //insert
                        dbhelper.insertCompany(str_CompanyId, str_CompanyName);
                        Log.e("Data inserted in ", "Company Table !!");
                    }
                }

            } catch (JSONException e) {
                e.printStackTrace();
            }
    }

这是我的JSON字符串

{"Get_CompanyResult":{"CompanylList":[{"Company_ID":93,"Company_Name":"SeaChange"},{"Company_ID":97,"Company_Name":"VM 2"}],"Sync_Time":"2015-09-11 12:44:17.533"}}

这段代码是对的吗?

0 个答案:

没有答案