访问服务器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;
    }
	
}
相关推荐
九硕智慧建筑一体化厂家14 分钟前
从光伏板到护眼灯,直流照明如何重构绿色校园的能源基因
运维·人工智能·重构·智慧城市·能源
·薯条大王9 小时前
经济实惠玩云服务器|一台云服务器多人共用,子账号配置教程
java·linux·运维·服务器·汇编·c++·python
ZJH__GO12 小时前
网络编程v4pro--实现聊天室文件传输功能
java·服务器·网络·计算机网络
小小、码农12 小时前
Linux进程控制:从fork到exec,手写一个简易Shell
linux·运维·服务器
不会就选b12 小时前
Linux之进程间通信(二)---模拟进程池
linux·运维·服务器
NeilYuen13 小时前
用UDP实现向DNS服务器请求IP地址
服务器·tcp/ip·udp
沫璃染墨14 小时前
《从零入门Linux系统篇(十五):系统工具篇·六——GDB调试器详解:从程序执行控制到高级调试技巧》
linux·运维·服务器·c语言·c++
AIgorithmGEEK15 小时前
Linux 环境变量完全指南:从入门到理解底层原理
linux·运维·服务器
修罗王15 小时前
Linux Docker 服务管理与排查实战指南(新手速查版)
运维·docker
迪康Defender15 小时前
从静态存储到动态流转:终端透明加密两种模式实战解析
运维·服务器·网络·数据库·其他