由于某种原因,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 楼答案
你的数据有语法错误。在48697列附近, H已找到坏数据段: “ucr_gen1447C3FA9C2915241”
我想你会喜欢: “ucr_概述”:“1447C3FA9C2915241”