访问服务器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;
    }
	
}
相关推荐
tedcloud1232 小时前
UI-TARS-desktop部署教程:构建AI桌面自动化系统
服务器·前端·人工智能·ui·自动化·github
AC赳赳老秦5 小时前
供应链专员提效:OpenClaw自动跟踪物流信息、更新库存数据,异常自动提醒
java·大数据·服务器·数据库·人工智能·自动化·openclaw
夏日听雨眠5 小时前
LInux(逻辑地址与物理地址的区别,文件描述符,lseek函数)
linux·运维·网络
哲霖软件6 小时前
ERP 赋能非标自动化行业:破解物料与库存管理难题
运维·自动化
火车叼位7 小时前
替代 Tiny Win10 的 Linux 方案:Debian XFCE 精简桌面搭建
linux·运维
大明者省8 小时前
宝塔开了端口,Ubuntu 还得开相应端口才能打通
服务器·数据库·ubuntu
syagain_zsx8 小时前
Linux指令初识(实用篇)
linux·运维·服务器
OYangxf8 小时前
Git Commit Message
运维·git
Alter12309 小时前
从“力大砖飞”到“拟态共生”,新华三定义AI基础设施的系统级进化
大数据·运维·人工智能
王木风9 小时前
终端里的编程副驾:DeepSeek-TUI-项目深度拆解,实测与原理分析
linux·运维·人工智能·rust·node.js