从我的JSON解析器中获取空指针异常

时间:2016-02-14 06:25:03

标签: java php android json getjson

  

转换结果时出错java.lang.NullPointerException:lock == null   解析数据时出错org.json.JSONException:字符0处的输入结束   的

  

谁能告诉我这是否有效?我已将笔记本电脑连接到我的wifi和移动设备上。两者都有相同的ipv4地址,并在Android代码我提到了该地址。我的手机如何知道联系存放数据库的笔记本电脑?

这是我的Android代码JSON解析器

 public JSONObject makeHttpRequest(String url, String method,List<NameValuePair> params) {
    try {
        if(method.equals("POST"))
        {
            DefaultHttpClient httpClient = new DefaultHttpClient();
            Log.e("herehai"," "+is); 
            HttpPost httpPost = new HttpPost(url);
            Log.e("hereiam"," "+httpPost);
            httpPost.setEntity(new UrlEncodedFormEntity(params));
            HttpResponse httpResponse = httpClient.execute(httpPost);//<-----Error is here
            HttpEntity httpEntity = httpResponse.getEntity();
            is = httpEntity.getContent();
            Log.e("here"," "+is);
        }
        else if(method.equals("GET"))
        {
            DefaultHttpClient httpClient = new DefaultHttpClient();
            String paramString = URLEncodedUtils.format(params, "utf-8");
            url += "?" + paramString;
            HttpGet httpGet = new HttpGet(url);

            HttpResponse httpResponse = httpClient.execute(httpGet);
            HttpEntity httpEntity = httpResponse.getEntity();
            is = httpEntity.getContent();

            Log.e("here1"," "+is);
        }


    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    try {
        BufferedReader reader = new BufferedReader(new InputStreamReader(is, "iso-8859-1"), 8);
        StringBuilder sb = new StringBuilder();
        String line = null;
        while ((line = reader.readLine())!=null)
        {
            sb.append(line + "\n");
        }
        is.close();
        json = sb.toString();
        Log.e("errors",json);
    }
    catch (Exception e)  {
        Log.e("Buffer Error", "Error converting result " + e.toString());
    }
    try {
        jObj = new JSONObject(json);
    } catch (JSONException e) {
        Log.e("JSON Parser", "Error parsing data " + e.toString());
    }
    //return json string
    return jObj;
}

有人能告诉我为什么空指针异常会抛出?

1 个答案:

答案 0 :(得分:0)

试试这个

<?php
$con=mysqli_connect("localhost","root","") or  die(mysql_error());
mysqli_select_db($con,"something")or die("Unable to connect 1");
$response = array();
$response["success"] = 0;
$email = $_POST['email']; 
$passwd = $_POST['pass']; 
$query1 = mysqli_query($con,"SELECT pass FROM userinfo where email='$email'");

   $res= mysqli_fetch_assoc($query1);
        if($res)
        {
             if($passwd!=$res['pass'])
            {                    
                $response["success"]=1;
                print(json_encode($response));
            }
            else 
            {                    
                $response["success"]=0;
                print(json_encode($response));          
            }
        }
        else
        {
            $response["success"]=0;
            print(json_encode($res));   
        }
?>