栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

从HttpURLConnection对象解析JSON

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从HttpURLConnection对象解析JSON

您可以使用以下方法获取原始数据。顺便说一句,此模式适用于Java6。如果您使用的是Java 7或更高版本,请考虑try-with-
resources模式

public String getJSON(String url, int timeout) {    HttpURLConnection c = null;    try {        URL u = new URL(url);        c = (HttpURLConnection) u.openConnection();        c.setRequestMethod("GET");        c.setRequestProperty("Content-length", "0");        c.setUseCaches(false);        c.setAllowUserInteraction(false);        c.setConnectTimeout(timeout);        c.setReadTimeout(timeout);        c.connect();        int status = c.getResponseCode();        switch (status) { case 200: case 201:     BufferedReader br = new BufferedReader(new InputStreamReader(c.getInputStream()));     StringBuilder sb = new StringBuilder();     String line;     while ((line = br.readLine()) != null) {         sb.append(line+"n");     }     br.close();     return sb.toString();        }    } catch (MalformedURLException ex) {        Logger.getLogger(getClass().getName()).log(Level.SEVERE, null, ex);    } catch (IOException ex) {        Logger.getLogger(getClass().getName()).log(Level.SEVERE, null, ex);    } finally {       if (c != null) {          try {   c.disconnect();          } catch (Exception ex) {  Logger.getLogger(getClass().getName()).log(Level.SEVERE, null, ex);          }       }    }    return null;}

然后,您可以将返回的字符串与Google Gson一起使用,以将JSON映射到指定类的对象,如下所示:

String data = getJSON("http://localhost/authmanager.php");AuthMsg msg = new Gson().fromJson(data, AuthMsg.class);System.out.println(msg);

有一个AuthMsg类的示例:

public class AuthMsg {    private int pre;    private String message;    public int getCode() {        return pre;    }    public void setCode(int pre) {        this.pre = pre;    }    public String getMessage() {        return message;    }    public void setMessage(String message) {        this.message = message;    }}

由http://localhost/authmanager.php返回的JSON
必须如下所示:

{"pre":1,"message":"Logged in"}

问候



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/449197.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号