有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

由于某种原因,JSONArray的java字符串返回null

我有一个重新运行JSON的URL,我首先将其转换为字符串,然后将其转换为JSONArray,但出于某种原因,它返回null。 示例url如下所示: https://data.phila.gov/resource/sspu-uyfa.json?dispatch_date=2017-08-01

下面是我的代码:

public JSONArray getJsonFromUrl(final String data_url) throws IOException, JSONException {
    InputStream is = new URL(data_url).openStream();
    BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));
    StringBuilder sb = new StringBuilder();
    int cp;
    while ((cp = rd.read()) != -1) { 
        sb.append((char) cp); 
    }
    is.close();
    JSONArray jsonArray = new JSONArray(sb.toString());
    return jsonArray;
}

因此StringBuilder对象sb不是空的。当我调试时,我可以看到它是一个巨大的字符串。但返回null的是new JSON(sb.toString());。此外,我尝试用JSONObject替换JSONArray,但仍然是相同的问题

任何帮助都将不胜感激


共 (1) 个答案

  1. # 1 楼答案

    你的数据有语法错误。在48697列附近, H已找到坏数据段: “ucr_gen1447C3FA9C2915241”

    我想你会喜欢: “ucr_概述”:“1447C3FA9C2915241”