我想从给定的url获取json对象,该对象为* .json文件提供可下载的链接。 * .json文件中包含一个json对象。 我已经尝试了以下代码,每个我都可以将* .json文件作为字符串读取,但是当我将其转换为json对象时,它会引发异常。
URL url = new URL(fileurl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
StringBuilder sb = new StringBuilder();
String line = br.readLine();
while (line != null)
{
sb.append(line);
line = br.readLine();
}
result = sb.toString();
JSONObject json = new JSONObject(result);`
我不想使用org.json.simple
库。
有没有其他方法可以像使用org.json
lib
答案 0 :(得分:0)
URL obj = new URL(<url>);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
con.setRequestProperty("User-Agent", "Mozilla/5.0");
con.setRequestProperty("Accept", "application/json");
int responseCode = con.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
BufferedReader in = new BufferedReader(new InputStreamReader(
con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
JSONObject jsonObject = new JSONObject(response.toString());
这是使用org.json:json。这对我有用。
答案 1 :(得分:0)
如果使用org.json.simple
库是您的问题,那么Java中有许多其他库
您可以尝试使用谷歌的Gson图书馆。
来自:https://github.com/google/gson
Gson是一个Java库,可用于将Java对象转换为 他们的JSON表示。它也可以用于转换JSON 字符串到等效的Java对象。 Gson可以使用任意Java 对象包括您没有的预先存在的对象 。的源代码。
有一些开源项目可以将Java对象转换为 JSON。但是,大多数都要求您在其中放置Java注释 你的班级;如果您没有访问权限,则无法执行某些操作 到源代码。大多数人也不完全支持Java的使用 泛型。 Gson认为这两者都是非常重要的设计目标。