JAVA类型转换整理


对JAVA类型的转换一直很模糊,整理一下:

今天刚发现在resp.getResult()上ctrl alt v,会联想出前面的类型,这个技巧我惊为天人...

obj其实就是java bean,我naive了

这篇类型转换已经写的很清楚了:FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换 

1.JSONObject Object dto

ResponseDto resp = applicationServiceImpl.queryAllApplication("xxx","xxx", ZERO,LIMIT,request);

1) 可以看出上文的resp的result是个Obj,那么Obj可以直接强转成DTO: 

PageDto page = (PageDto)resp.getResult();

2) 那如果obj里的内容是个JSON,我们需要取某一项呢:

JSONObject result = (JSONObject) JSON.toJSON(resp.getResult());
JSONArray data = result.getJSONArray("data");

3) 报错的写法:"com.alibaba.fastjson.JSONObject cannot be cast to dto"

JSONObject o = (JSONObject) resp.getResult();
PageDto pageDto = JSONObject.parseObject(JSONObject.toJSONString(o), PageDto.class);

2.JSON 的处理:
贴一个遍历JSON的用法:

JSONObject result = (JSONObject) JSON.toJSON(resp.getResult());
JSONArray data = result.getJSONArray("data");
LOGGER.info("data:{}",data);
List<String> contentList1 = new ArrayList<>();
for(int i = 0;i<data.size();i++) {
    JSONObject obj = (JSONObject) data.get(i);
    String username = obj.getString("name");
    LOGGER.info("username:{}",username);
    contentList1.add(username);
}

3.这两个不知道怎么用:

1)JSONObject result = (JSONObject) JSON.toJSON(resp.getResult());  // obj- > JSONObject

定义:public static Object toJSON(Object javaObject, SerializeConfig config)

相当于obj toJSON后强转成JSONObj

2) PageDto pageDto = JSONObject.parseObject(JSONObject.toJSONString(o), PageDto.class);

为什么报错呢?看下parseObject的定义:


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值