当前位置: 首页 > 面试题库 >

Java 从URL解析JSON

高晋
2023-03-14
问题内容

有没有最简单的方法来从URL解析JSON?我使用Gson找不到任何有用的示例。


问题答案:
  1. 首先,你需要下载URL(作为文本):
private static String readUrl(String urlString) throws Exception {
    BufferedReader reader = null;
    try {
        URL url = new URL(urlString);
        reader = new BufferedReader(new InputStreamReader(url.openStream()));
        StringBuffer buffer = new StringBuffer();
        int read;
        char[] chars = new char[1024];
        while ((read = reader.read(chars)) != -1)
            buffer.append(chars, 0, read); 

        return buffer.toString();
    } finally {
        if (reader != null)
            reader.close();
    }
}
  1. 然后你需要解析它(这里有一些选项)。

GSON(完整示例):

static class Item {
    String title;
    String link;
    String description;
}

static class Page {
    String title;
    String link;
    String description;
    String language;
    List<Item> items;
}

public static void main(String[] args) throws Exception {

    String json = readUrl("http://www.javascriptkit.com/"
                          + "dhtmltutors/javascriptkit.json");

    Gson gson = new Gson();        
    Page page = gson.fromJson(json, Page.class);

    System.out.println(page.title);
    for (Item item : page.items)
        System.out.println("    " + item.title);
}

输出:

javascriptkit.com
    Document Text Resizer
    JavaScript Reference- Keyboard/ Mouse Buttons Events
    Dynamically loading an external JavaScript or CSS file

试试json.org上的Java API :

try {
    JSONObject json = new JSONObject(readUrl("..."));

    String title = (String) json.get("title");
    ...

} catch (JSONException e) {
    e.printStackTrace();
}


 类似资料:
  • 问题内容: 有没有最简单的方法来从URL解析JSON?我使用Gson找不到任何有用的示例。 问题答案: 首先,您需要下载URL(作为文本): 然后您需要解析它(这里有一些选项)。 GSON(完整示例): 输出:

  • 问题内容: 我需要构建一个从URL解析域的函数。 因此, 要么 它应该返回 与 它应该返回。 问题答案: 签出: 不能很好地正确处理错误的URL,但是如果您通常期望不错的URL,那很好。

  • 问题内容: 我是解析新手,找不到任何过时且未提出更多问题的教程。我正在尝试解析一个简单的xml文件url。xml非常简单: 并且只想将其保存为NSDictionary(标签作为键,数据作为值)。到目前为止,我所能成功完成的工作是在控制台中使用以下命令打印xml字符串: 我浏览过所有发现的在线教程,这些教程要么过时,要么过于复杂。任何帮助表示赞赏。 问题答案: 过程很简单: 创建对象,并向其传递数据

  • 问题内容: 我想从url解析查询部分,这是我要做的代码: 这段代码看起来不错,但是“ parse_qs”方法会丢失查​​询参数,例如“ param1”或“ param1 =”。我可以使用stantard库解析查询部分并保存所有参数吗? 问题答案: 你要:

  • URL提供了一种统一访问资源的方式。我们来看一下Go里面如何解析URL。 package main import "fmt" import "net/url" import "strings" func main() { // 我们将解析这个URL,它包含了模式,验证信息, // 主机,端口,路径,查询参数和查询片段 s := "postgres://user:pass@h

  • urllib.parse — Split URLs into Components 解析 # urllib_parse_urlparse.py from urllib.parse import urlparse url = 'http://netloc/path;param?query=arg#frag' parsed = urlparse(url) print(parsed) # urlli