json的转来转去

json转普通对象

比如我们想转成下面的对象

@Data
public class TestParam {
    private String  name;
    private Integer age;
}

那么你的代码可能是这样的

@Test
    void test(){
        String json = "{\"name\":\"一只小哎呀\",\"age\":18}";
        TestParam param = JSON.parseObject(json, TestParam.class);
    }

于是我在代码里回到18了~
在这里插入图片描述

json转list

那么如果你的json想转成list呢?别担心,也有现成的接口能帮我们办好
在这里插入图片描述

        String json = "[{\"name\":\"一只小哎呀\",\"age\":18},{\"name\":\"一只猪猪侠\",\"age\":30}]";
        List<TestParam> paramList = JSON.parseArray(json, TestParam.class);

在这里插入图片描述

json转map

如果我们想转成map呢?要怎么办呢?
天真的小哎呀觉得Map也是对象呀 可以JSON.parseObject(json, HashMap.class);吗?
❌❌❌
java.lang.ClassCastException: com.alibaba.fastjson.JSONObject cannot be cast to com.不给你看======support.model.TestParam
在这里插入图片描述
为什么呢?因为编译器只知道要转成map,但是没有告诉编译器map里要转成什么类型,那么怎么才能告诉编译器具体的类型呢?

✅✅✅
于是commond+shift+F让我抄抄别人的代码。。

    void test(){
        String json = "{\"等饭吃\":{\"name\":\"一只小哎呀\",\"age\":18},\"饲养员\":{\"name\":\"一只猪猪侠\",\"age\":30}}";
        Map<String, TestParam> paramMap = JSON.parseObject(json, new TypeReference<HashMap<String, TestParam>>() {
        });
        TestParam param= paramMap.get("等饭吃");
    }

在这里插入图片描述
-----------碎碎念时间-----
小哎呀今年换了份新工作,这边架构更想考虑"灵活",弄的代码里很多json/map这种结构,不敢相信这是阿里系的子公司
大家怎么看待灵活和规范的取舍嘞?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值