在java中读取* .json文件

时间:2018-06-14 09:24:57

标签: java json http

我想从给定的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

那样实现

2 个答案:

答案 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认为这两者都是非常重要的设计目标。