Android 来自json post的响应

Android 来自json post的响应,android,Android,我有一个问题,当我们想向服务器发送json请求时,它总是返回org.apache.http.conn。EofSensorInputStream@44f4a1d0当我们想要打印响应时,该响应的方式是什么 代码: 您从服务器得到的响应在inputstream中,所以将其转换为字符串,然后使用它。像 String result=null; InputStream is = entity.getContent(); // convert stream to string

我有一个问题,当我们想向服务器发送json请求时,它总是返回org.apache.http.conn。EofSensorInputStream@44f4a1d0当我们想要打印响应时,该响应的方式是什么

代码:


您从服务器得到的响应在inputstream中,所以将其转换为字符串,然后使用它。像

String result=null;
InputStream is = entity.getContent();
            // convert stream to string
            result = convertStreamToString(is); 
            result = result.replace("\n", "");

public static String convertStreamToString(InputStream is) throws Exception {

    BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
    StringBuilder sb = new StringBuilder();
    String line = null;
    while ((line = reader.readLine()) != null) {
        sb.append(line + "\n");
    }
    is.close();
    return sb.toString();
}

您从服务器得到的响应在inputstream中,所以将其转换为字符串,然后使用它。像

String result=null;
InputStream is = entity.getContent();
            // convert stream to string
            result = convertStreamToString(is); 
            result = result.replace("\n", "");

public static String convertStreamToString(InputStream is) throws Exception {

    BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
    StringBuilder sb = new StringBuilder();
    String line = null;
    while ((line = reader.readLine()) != null) {
        sb.append(line + "\n");
    }
    is.close();
    return sb.toString();
}

我建议使用此方法获取json响应

对于Get方法:

public class HttpManager {

public static String getData(String uri) {

    BufferedReader reader = null;

    try {
        URL url = new URL(uri);
        HttpURLConnection con = (HttpURLConnection) url.openConnection();

        StringBuilder sb = new StringBuilder();
        reader = new BufferedReader(new InputStreamReader(con.getInputStream()));

        String line;
        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }

        return sb.toString();

    } catch (Exception e) {
        e.printStackTrace();
        return null;
    } finally {
        if (reader != null) {
            try {
                reader.close();
            } catch (IOException e) {
                e.printStackTrace();
                return null;
            }
        }
    }

}

}
public class HttpRequest {
public static String getData(String uri, String params) {

    BufferedReader reader = null;

    try {
        URL url = new URL(uri);
        HttpURLConnection con = (HttpURLConnection) url.openConnection();
        con.setRequestMethod("POST");
        con.setDoOutput(true);
        OutputStreamWriter writer = new OutputStreamWriter(
                con.getOutputStream());
        writer.write(params);
        writer.flush();

        StringBuilder sb = new StringBuilder();
        reader = new BufferedReader(new InputStreamReader(
                con.getInputStream()));

        String line;
        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }

        return sb.toString();

    } catch (Exception e) {
        e.printStackTrace();
        Log.i("exception", "" + e.getMessage());
        return null;
    } finally {
        if (reader != null) {
            try {
                reader.close();
            } catch (IOException e) {
                e.printStackTrace();
                return null;
            }
        }
    }

}

}
对于Post方法:

public class HttpManager {

public static String getData(String uri) {

    BufferedReader reader = null;

    try {
        URL url = new URL(uri);
        HttpURLConnection con = (HttpURLConnection) url.openConnection();

        StringBuilder sb = new StringBuilder();
        reader = new BufferedReader(new InputStreamReader(con.getInputStream()));

        String line;
        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }

        return sb.toString();

    } catch (Exception e) {
        e.printStackTrace();
        return null;
    } finally {
        if (reader != null) {
            try {
                reader.close();
            } catch (IOException e) {
                e.printStackTrace();
                return null;
            }
        }
    }

}

}
public class HttpRequest {
public static String getData(String uri, String params) {

    BufferedReader reader = null;

    try {
        URL url = new URL(uri);
        HttpURLConnection con = (HttpURLConnection) url.openConnection();
        con.setRequestMethod("POST");
        con.setDoOutput(true);
        OutputStreamWriter writer = new OutputStreamWriter(
                con.getOutputStream());
        writer.write(params);
        writer.flush();

        StringBuilder sb = new StringBuilder();
        reader = new BufferedReader(new InputStreamReader(
                con.getInputStream()));

        String line;
        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }

        return sb.toString();

    } catch (Exception e) {
        e.printStackTrace();
        Log.i("exception", "" + e.getMessage());
        return null;
    } finally {
        if (reader != null) {
            try {
                reader.close();
            } catch (IOException e) {
                e.printStackTrace();
                return null;
            }
        }
    }

}

}

我建议使用此方法获取json响应

对于Get方法:

public class HttpManager {

public static String getData(String uri) {

    BufferedReader reader = null;

    try {
        URL url = new URL(uri);
        HttpURLConnection con = (HttpURLConnection) url.openConnection();

        StringBuilder sb = new StringBuilder();
        reader = new BufferedReader(new InputStreamReader(con.getInputStream()));

        String line;
        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }

        return sb.toString();

    } catch (Exception e) {
        e.printStackTrace();
        return null;
    } finally {
        if (reader != null) {
            try {
                reader.close();
            } catch (IOException e) {
                e.printStackTrace();
                return null;
            }
        }
    }

}

}
public class HttpRequest {
public static String getData(String uri, String params) {

    BufferedReader reader = null;

    try {
        URL url = new URL(uri);
        HttpURLConnection con = (HttpURLConnection) url.openConnection();
        con.setRequestMethod("POST");
        con.setDoOutput(true);
        OutputStreamWriter writer = new OutputStreamWriter(
                con.getOutputStream());
        writer.write(params);
        writer.flush();

        StringBuilder sb = new StringBuilder();
        reader = new BufferedReader(new InputStreamReader(
                con.getInputStream()));

        String line;
        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }

        return sb.toString();

    } catch (Exception e) {
        e.printStackTrace();
        Log.i("exception", "" + e.getMessage());
        return null;
    } finally {
        if (reader != null) {
            try {
                reader.close();
            } catch (IOException e) {
                e.printStackTrace();
                return null;
            }
        }
    }

}

}
对于Post方法:

public class HttpManager {

public static String getData(String uri) {

    BufferedReader reader = null;

    try {
        URL url = new URL(uri);
        HttpURLConnection con = (HttpURLConnection) url.openConnection();

        StringBuilder sb = new StringBuilder();
        reader = new BufferedReader(new InputStreamReader(con.getInputStream()));

        String line;
        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }

        return sb.toString();

    } catch (Exception e) {
        e.printStackTrace();
        return null;
    } finally {
        if (reader != null) {
            try {
                reader.close();
            } catch (IOException e) {
                e.printStackTrace();
                return null;
            }
        }
    }

}

}
public class HttpRequest {
public static String getData(String uri, String params) {

    BufferedReader reader = null;

    try {
        URL url = new URL(uri);
        HttpURLConnection con = (HttpURLConnection) url.openConnection();
        con.setRequestMethod("POST");
        con.setDoOutput(true);
        OutputStreamWriter writer = new OutputStreamWriter(
                con.getOutputStream());
        writer.write(params);
        writer.flush();

        StringBuilder sb = new StringBuilder();
        reader = new BufferedReader(new InputStreamReader(
                con.getInputStream()));

        String line;
        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }

        return sb.toString();

    } catch (Exception e) {
        e.printStackTrace();
        Log.i("exception", "" + e.getMessage());
        return null;
    } finally {
        if (reader != null) {
            try {
                reader.close();
            } catch (IOException e) {
                e.printStackTrace();
                return null;
            }
        }
    }

}

}

您是否已先授予Internet权限?您是否已先授予Internet权限?