Cool
Cool
Published on 2021-05-27 / 36 Visits
0
0

java 从 URL 获得json

使用原生的 java.net包的 HttpURLConnection

package com.mychat.servlet;


import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;

public class test {
    public static void main(String[] args) throws IOException {
        //设定链接
        String str = "https://res.abeim.cn/api-qq.name?qq=123456";
        //str转换为真正的url
        URL url = new URL(str);
        //构造连接
        HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();
        //模拟用户
        urlConn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.79 Safari/537.36");
        //urlConn.setRequestProperty("Content-Type", "application/json;charset=GBK");

        StringBuffer resultBuffer = null;
        BufferedReader buffer = null;
        //正式请求连接
        urlConn.connect();

        if (urlConn.getResponseCode() == 200) {//返回的状态码是200 表示成功
            //获得网络输入流  (响应流)
            InputStream inputStream = urlConn.getInputStream();
            //结果
            resultBuffer = new StringBuffer();

            //将响应流转换成字符串
            buffer = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));

            String line;
            //循环读取
            while ((line = buffer.readLine()) != null) {
                resultBuffer.append(line);
            }
            //输出结果
            System.out.println(resultBuffer.toString());
        }


    }
}

效果1

Screenshot (61).png


使用jackson jar 包

package com.mychat.test;


import java.io.IOException;

import java.net.URL;

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

public class UrlGetJson2 {
    public static void main(String[] args) throws IOException {
        //设定链接
        String str = "https://res.abeim.cn/api-qq.name?qq=123456";
        //str转换为真正的url
        URL url = new URL(str);
        //使用jackson工具

        //需要导包jackson
        ObjectMapper objectMapper = new ObjectMapper();
        //读取url  返回json
        JsonNode jsonNode = objectMapper.readTree(url);
        //转换为String
        String string = jsonNode.toString();
        System.out.println(string);


    }
}

效果2

QQ截图20210527165216.png


Comment