java - JSON 未确定的字符串错误

标签 java android json string char

我的 Android 应用程序的 HTTP 请求出现问题。
我正在尝试获取此 JSON 字符串:

{
    "produto": [
        {
            "pro_id": 2,
            "pro_nome": "MELAO TIPO12"
        },
        {
            "pro_id": 3,
            "pro_nome": "MAMAO PAPAIA TIPO 15"
        },
        {
            "pro_id": 4,
            "pro_nome": "MELANCIA GRANDE"
        },
        {
            "pro_id": 11,
            "pro_nome": "MARACUJA SUPER"
        },
        {
            "pro_id": 17,
            "pro_nome": "MORANGO"
        },
        {
            "pro_id": 18,
            "pro_nome": "MANGA THOMY 12"
        },
        {
            "pro_id": 19,
            "pro_nome": "ABACAXI PEROLA TIPO 5"
        },
        {
            "pro_id": 20,
            "pro_nome": "ABACAXI PEROLA TIPO 15"
        },
        {
            "pro_id": 21,
            "pro_nome": "ABACAXI HAWAI 1IPO 4"
        },
        {
            "pro_id": 22,
            "pro_nome": "ABACAXI HAWAI TIPO 15"
        },
        {
            "pro_id": 23,
            "pro_nome": "ABACAXI HAWAI TIPO 5"
        },
        {
            "pro_id": 29,
            "pro_nome": "ABACAXI PEROLA TIPO 4"
        },
        {
            "pro_id": 30,
            "pro_nome": "ABACAXI PEROLA TIPO 5 PEQUENO"
        },
        {
            "pro_id": 36,
            "pro_nome": "ABACAXI HAWAI TIPO 10"
        },
        {
            "pro_id": 41,
            "pro_nome": "ABACATE"
        },
        {
            "pro_id": 44,
            "pro_nome": "AMEIXA IMPORT"
        },
        {
            "pro_id": 45,
            "pro_nome": "AMENDOIM TORRADO COM CASCA"
        },
        {
            "pro_id": 51,
            "pro_nome": "MARACUJA 3A"
        },
        {
            "pro_id": 52,
            "pro_nome": "MARACUJA 2A"
        },
        {
            "pro_id": 53,
            "pro_nome": "MANGA THOMY TIPO 15"
        },
        {
            "pro_id": 56,
            "pro_nome": "MAMAO PAPAIA TIPO 18"
        },
        {
            "pro_id": 59,
            "pro_nome": "MAMAO PAPAI 21"
        },
        {
            "pro_id": 60,
            "pro_nome": "COCO SECO 10"
        },
        {
            "pro_id": 61,
            "pro_nome": "COCO SECO 20"
        },
        {
            "pro_id": 64,
            "pro_nome": "MELAO TIPO 10"
        },
        {
            "pro_id": 66,
            "pro_nome": "MELAO TIPO7"
        },
        {
            "pro_id": 68,
            "pro_nome": "MACA FUJI 100 CAT1"
        },
        {
            "pro_id": 70,
            "pro_nome": "MACA FUJI 150"
        },
        {
            "pro_id": 71,
            "pro_nome": "MACA GALA CAT1 120"
        },
        {
            "pro_id": 73,
            "pro_nome": "MACA GALA 120 CAT2"
        },
        {
            "pro_id": 76,
            "pro_nome": "MELANCIA JAPONESA"
        },
        {
            "pro_id": 77,
            "pro_nome": "MELANCIA MEDIA"
        },
        {
            "pro_id": 78,
            "pro_nome": "MELANCIA PEQUENA"
        },
        {
            "pro_id": 79,
            "pro_nome": "MACA GALA150"
        },
        {
            "pro_id": 80,
            "pro_nome": "MACA GALA180"
        },
        {
            "pro_id": 81,
            "pro_nome": "MACA GALA216"
        },
        {
            "pro_id": 82,
            "pro_nome": "MACA GALA 135 CAT 1"
        },
        {
            "pro_id": 84,
            "pro_nome": "MACA FUJI120"
        },
        {
            "pro_id": 85,
            "pro_nome": "MACA FUJI GRANEL"
        },
        {
            "pro_id": 86,
            "pro_nome": "MACA GALA GRANEL"
        },
        {
            "pro_id": 87,
            "pro_nome": "MACA ARGENTINA100"
        },
        {
            "pro_id": 88,
            "pro_nome": "MACA VERDE "
        },
        {
            "pro_id": 89,
            "pro_nome": "PERA T90"
        },
        {
            "pro_id": 90,
            "pro_nome": "UVA RED GLOB"
        },
        {
            "pro_id": 91,
            "pro_nome": "UVA TOPSON"
        },
        {
            "pro_id": 92,
            "pro_nome": "PESSEGO IMPORT"
        },
        {
            "pro_id": 94,
            "pro_nome": "KIWI IMPORT"
        },
        {
            "pro_id": 95,
            "pro_nome": "NECTARINA "
        },
        {
            "pro_id": 96,
            "pro_nome": "PERA ESPANHOLA "
        },
        {
            "pro_id": 97,
            "pro_nome": "PERA PORTUGUESA"
        }
    ]
}

但是我遇到了这个异常 “MY JSON STRING”的第 1927 个字符处的未终止对象

这是我对 URL 执行 HTTP 请求的方法:

  public String ConsultaServidor(String URL_STRING) throws IOException {
        InputStream is = null;

        try {
            URL url = new URL(URL_STRING);
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setConnectTimeout(10000);
            conn.setReadTimeout(15000);
            conn.setRequestMethod("GET");
            conn.setDoInput(true);
            conn.connect();
            conn.getResponseCode();

            is = conn.getInputStream();

            Reader reader = null;
            reader = new InputStreamReader(is);
            char[] buffer = new char[4096];
            reader.read(buffer);
            return new String(buffer);
        } finally {
            if (is != null) {
                is.close();
            }
        }
    }

有人可以帮我解决这个问题吗?

最佳答案

最好在读取时使用一些缓冲区,例如 BufferedReader,而不是单独使用 InputStreamReader,例如:-

BufferedReader br = new BufferedReader(new InputStreamReader(is));
String s = null;
StringBuilder sb = new StringBuilder ();
while((s = br.readLine()) != null )
sb.append(s); 
return sb.toString();

关于java - JSON 未确定的字符串错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31483668/

相关文章:

Java DataInputStream 读取不返回

android - Android Studio 中的抽屉导航模板

android - Bundle.putExtra 问题与 android

python - 如何正确 json_normalize 以便我获得正确格式的数据帧?

javascript - 使用 JSON + AJAX 时功能不起作用

java - 多个项目使用相同的 API key

java - 如何更改 Android 按钮颜色 onClick?

java - 什么时候卸载一个类

android - 在 Twitter 上发布视频内容和缩略图

python - 为什么我的 Python 程序在 IntelliJ 中出现 UnicodeDecodeError 但在命令行中却正常?