使用hutool工具http请求并且解析json

Hutool 参考文档

导入依赖

<dependency>
	<groupId>cn.hutool</groupId>
	<artifactId>hutool-all</artifactId>
	<version>4.1.2</version>
</dependency>

一、http请求

1、get和post
HttpUtil.get(url,paramMap,timeOut);
HttpUtil.post(同上)

//=====

String url = "https://xxx/xx";//指定URL
Map<String, Object> map = new HashMap<>();//存放参数
map.put("A", 100);
map.put("B", 200);
HashMap<String, String> headers = new HashMap<>();//存放请求头,可以存放多个请求头
headers.put("xxx", xxx);
//发送get请求并接收响应数据
String result= HttpUtil.createGet(url).addHeaders(headers).form(map).execute().body();
//发送post请求并接收响应数据
String result= HttpUtil.createPost(url).addHeaders(headers).form(map).execute().body();
2、发送del请求
String url = "https://xxx/delete/"+id;//指定URL携带ID
HashMap<String, String> headers = new HashMap<>();//存放请求头,可以存放多个请求头
headers.put("xxx", xxx);
//发送delete请求并接收响应数据
String result= HttpUtil.createRequest(Method.DELETE, url).addHeaders(headers).execute().body();
3、原生

@Test
public void testHttps() throws Exception {
    JSONObject json = new JSONObject();
    json.put("username", "1332788xxxxxx");
    json.put("password", "123456.");
    String result = HttpRequest.post("https://api2.bmob.cn/1/users")
            .header("Content-Type", "application/json")//头信息,多个头信息多次调用此方法即可
            .header("X-Bmob-Application-Id","2f0419a31f9casdfdsf431f6cd297fdd3e28fds4af")
            .header("X-Bmob-REST-API-Key","1e03efdas82178723afdsafsda4be0f305def6708cc6")
            .body(json)
            .execute().body();
       System.out.println(result);   
}

二、http结果集json解析(采用阿里的或者是hutool工具)

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.70</version>
</dependency>

转换成json字符串

  List<User> userList = new ArrayList<>();
        User user = new User();
        user.setName("123");
        userList.add(user);
        //实体类转换json
        JSON.toJSONString(user)
        //list转换json
		JSON.toJSONString(userList)

转换成对象

public class Json {
    public static void main(String[] args) {
    //实体
        String json = "{\"age\":20,\"name\":\"name0\"}";
        JSON.parseObject(json, User.class);
        //list集合
        String json = "[{\"age\":20,\"name\":\"name0\"}]";
        List<User> userList = JSON.parseArray(json, User.class);

    }
}

json转换jsonobj直接获取属性

//定义一个json格式的字符串
String message = "{"code":1,"data":{"id":1001,"name":"lisi"}}";
//将字符串转换成json
JSONObject jsonObject = JSONObject.parseObject(message);
//取出data里的数据
String code = jsonObject.getString("code");
String data = jsonObject.getString("data");
 
System.out.println(code); //输出结果为:1
System.out.println(data); //输出结果为:{"name":"lisi","id":1001}

转换成指定的集合

List<Map<String, Object>> res = JSONObject.parseObject("xxxxjson", new TypeReference<List<Map<String, Object>>>() {});
hutool转换

百度吧 其实跟fastjson用法差别不大

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
Hutool是一个Java工具库,其中包含了许多方便实用的工具类。Hutool中的hutool-json模块提供了对JSON数据的解析和操作功能。通过使用hutool-json,你可以方便地将JSON字符串转换为Java对象,或者从Java对象中提取JSON属性。 在使用hutool-json解析JSON时,你需要先引入hutool-json的依赖。可以在项目的pom.xml文件中添加以下依赖配置: ``` <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-json</artifactId> <version>5.8.10</version> </dependency> ``` 引用\[3\] 接下来,你可以使用hutool-json提供的JSONObject类来解析JSON。你可以通过以下步骤来解析JSON字符串: 1. 导入需要的类:`import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil;` 2. 创建一个JSONObject对象并将JSON字符串传入:`JSONObject jsonObject = JSONUtil.parseObj(jsonString);` 3. 使用JSONObject对象提供的方法来获取JSON属性的值:`String value = jsonObject.getStr("propertyName");` 例如,如果你有一个JSON字符串`{"name":"Tom","age":23}`,你可以使用hutool-json解析它: ``` JSONObject jsonObject = JSONUtil.parseObj(jsonString); String name = jsonObject.getStr("name"); int age = jsonObject.getInt("age"); System.out.println(name); // 输出结果为:Tom System.out.println(age); // 输出结果为:23 ``` 引用\[2\] 通过以上步骤,你可以使用hutool-json轻松地解析JSON数据并获取其中的属性值。 #### 引用[.reference_title] - *1* *3* [JavaHutool工具箱之hutool-jsonJSON数据读取转换处理](https://blog.csdn.net/mouday/article/details/128085029)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [使用hutool工具http请求并且解析json](https://blog.csdn.net/weixin_49390750/article/details/125026332)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张航柯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值