访问服务器json接口,将json字符串解析成json格式的demo

java 复制代码
 <!-- 其他依赖(如 JSON 解析) -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.83</version>
    </dependency>
java 复制代码
package com.tools;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import com.alibaba.fastjson.JSONObject;
public class ApiClient {
//将json字符串解析成json格式
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//{"Name":"CICI","Phone":"18501680095","Img":"http://pwxvr.com/dreame/statics/uploadfiles/1773206309811.jpg","BU":"","code":200,"msg":"查询用户信息成功"}

		String jsonData = getUserData("D00001");
        System.out.println(jsonData);
		
        JSONObject jsonObject = JSONObject.parseObject(jsonData);
        String code = jsonObject.getString("code");
        System.out.println("code: " + code); // 输出:code: 200(查询成功) 、其他的数字,代表查询失败
        
        String name = jsonObject.getString("Name");
        System.out.println("Name: " + name); // 输出:Name: CICI
        String bu = jsonObject.getString("BU");
        System.out.println("BU: " + bu); // 输出:BU: 用户的BU名称
        String img = jsonObject.getString("Img");
        System.out.println("Img: " + img); // 输出Img: 头像路径
        
	}

	
	public static String getUserData(String cardId) {
        HttpURLConnection connection = null;
        try {
            // 构建URL
            String urlStr = "http://pwx.com/dreame/ac/selectPlaceuser.json?cardId=" + cardId;
            URL url = new URL(urlStr);
            connection = (HttpURLConnection) url.openConnection();
            
            // 设置请求方法
            connection.setRequestMethod("GET");
            connection.setConnectTimeout(5000);
            connection.setReadTimeout(5000);
            
            // 获取响应码
            int responseCode = connection.getResponseCode();
            if (responseCode == HttpURLConnection.HTTP_OK) {
                // 读取响应内容
                BufferedReader reader = new BufferedReader(
                    new InputStreamReader(connection.getInputStream(), "UTF-8")
                );
                StringBuilder response = new StringBuilder();
                String line;
                while ((line = reader.readLine()) != null) {
                    response.append(line);
                }
                reader.close();
                return response.toString();
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (connection != null) {
                connection.disconnect();
            }
        }
        return null;
    }
	
}
相关推荐
开开心心_Every2 小时前
轻松加密文件生成exe,无需原程序解密
运维·服务器·网络·电脑·excel·consul·memcache
Lxinccode2 小时前
wsl(1) : docker里面的容器访问wsl的服务
运维·docker·容器·wsl容器访问宿主机
失伟2 小时前
iSulad部署以及使用方案
运维·容器
my陈2 小时前
docker基本使用
运维·docker·容器
画堂秋2 小时前
云原生-Mysql
运维·mysql·云原生
郝学胜-神的一滴2 小时前
Linux高性能网络编程基石:epoll核心与文件描述符限制全解
linux·服务器·网络·c++·后端
江畔何人初8 小时前
iptables 和 IPVS 代理模式 Service 的区别
linux·运维·服务器·网络·云原生·kubernetes·代理模式
2601_9492210311 小时前
Splashtop赋能企业级远程办公全场景安全连接成选型优选
运维·人工智能·安全
七度黑光11 小时前
用 openclaw 给故障复盘打分:质量审核自动化实践
运维·服务器·前端·数据库·自动化