访问服务器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;
    }
	
}
相关推荐
Julien20045 分钟前
调查和解决 SELinux 问题
linux·运维·服务器·网络·学习方法
天远Date Lab1 小时前
零信任架构实战:基于天远双人婚姻评估查询构建自动化房产按揭联合审查网关
运维·人工智能·架构·自动化
2601_962074682 小时前
自己编译RustDesk,并将自建ID服务器和key信息写入客户端
运维·服务器
小张同学a.2 小时前
Docker 容器实战 1—— docker 基础与镜像构建
linux·运维·docker·容器
大模型丫丫3 小时前
Hermes Agent:轻量级智能体框架实战指南
大数据·运维·服务器
考虑考虑3 小时前
kubectl命令
运维·后端·自动化运维
NJCloud3 小时前
Docker 容器技术入门:部署、核心概念与基础命令
运维·docker·容器
mooooooooooye4 小时前
2026 年跨平台 SSH 客户端怎么选?Xterminal、Termius、MobaXterm 谁更合适
服务器·网络·ssh
2601_962072334 小时前
docker自建rustdesk-server远程桌面
运维·docker·容器
Blockchina4 小时前
Codex 实战:从一句需求到可验收的 Linux 主机巡检脚本
运维·服务器·网络