java实体类接收json对象_Java—JSON串转换成实体Bean对象模板

本文介绍了如何在Java后端将前端传递的JSON字符串转换为实体Bean对象。首先,通过fastjson库的JSON.parseObject()和parseArray()方法进行解析。示例中,先将JSON响应转换为字符串,然后解析成JSONObject,再提取JSONArray并转换为List<Map>。此外,还展示了将JSON字符串直接转换为指定Bean类的List对象。
摘要由CSDN通过智能技术生成

介绍

模板需求说明

开发中经常遇到前端传递过来的JSON串的转换,后端需要解析成对象,有解析成List的,也有解析成Map的。

依赖

com.alibaba

fastjson

1.2.57

解析模板

Response获取成String

public static String getResponseAsString(final HttpResponse response) {

try {

return EntityUtils.toString(response.getEntity(), "UTF-8");

} catch (final ParseException e) {

throw new RuntimeException(e);

} catch (final IOException e) {

throw new RuntimeException(e);

}

}

JSON串解析

若已通过上述的Response方法转换成了String类型字符串为appsStr。

JSON示例

JSON转换模板

try {

//获取第一级对象

JSONObject appsJSONObject = JSON.parseObject(appsStr).getJSONObject("apps");

//判断是否为空

if (appsJSONObject == null || appsJSONObject .size() <= 0) {

log.info("json has no apps");

}

//获取第二级对象数组JSONArray

JSONArray appJSONArray = appsJSONObject .getJSONArray("app");

//转换成二级对象字符串

String appStr = JSON.toJSONString(appJSONArray );

//字符串转换成第二级对象数组List

List appList = new ArrayList<>();

appList = JSONObject.parseArray(appStr, Map.class);

log.info("length: {}", appList.size());

} catch (Exception e) {

log.error(e.getMessage());

}

常用方法

转换bean对象

//其他方式获取到的Object对象

Object obj = xxx;

String responseStr = JSON.toJSONString(obj);

XXXXBean xxxxBean = JSON.parseObject(responseStr, XXXXBean.class);

转换Map

Object obj = xxx;

String responseStr = JSON.toJSONString(obj);

Map map = JSONObject.parseObject(responseStr,Map.class);

转换List

Object obj = xxx;

String responseStr = JSON.toJSONString(obj);

List mapList = JSON.parseArray(responseStr , Map.class);

List xxxList = JSONObject.parseArray(responseStr, XXXBean.class);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值