json的转来转去-创新互联

json转普通对象

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

创新互联是一家专业提供汪清企业网站建设,专注与网站制作、成都做网站H5技术、小程序制作等业务。10年已为汪清众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。
@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}]";
        ListparamList = 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}}";
        MapparamMap = JSON.parseObject(json, new TypeReference>() {});
        TestParam param= paramMap.get("等饭吃");
    }

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

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


当前名称:json的转来转去-创新互联
标题URL:http://pwwzsj.com/article/dogshc.html