您的位置:首页 > 编程语言 > Java开发

FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换

2017-09-20 00:00 951 查看
1、javaBean与json对象间的转换:

方式1:

Psgflow psgflow = JSONObject.toJavaObject(jsonObject, Psgflow.class);

方式2:

Psgflow psgflow = JSONObject.parseObject(jsonStr, Psgflow.class);

2、List与jsonArrayStr转换:

List<Psgflow > psgflows = JSONObject.parseArray(jsonArrayStr, Psgflow.class);

原理

1、我们可以把JSONObject当成一个Map<String,Object>来看,只是JSONObject提供了更为丰富便捷的方法,方便我们对于对象属性的操作。

2、同样我们可以把JSONArray当做一个List<Object>,可以把JSONArray看成JSONObject对象的一个集合。

3、此外,由于JSONObject和JSONArray继承了JSON,所以说也可以直接使用两者对JSON格式字符串与JSON对象及javaBean之间做转换,不过为了避免混淆我们还是使用JSON。

示例:

public List<CarpoolRouteStation> getRouteDetail(String orderNo) {
String routeInfoDetail = regularRouteOrderMapper.selectByOrderNo(orderNo);
JSONObject jsonObject = JSON.parseObject(routeInfoDetail);
JSONArray jsonArray = jsonObject.getJSONArray("carpoolRouteStations");

List<CarpoolRouteStation> carpoolRouteStations = new ArrayList<>();

for(Object obj : jsonArray){
JSONObject jsonObj = (JSONObject) obj;
CarpoolRouteStation carpoolRouteStation = JSONObject.toJavaObject(jsonObj, CarpoolRouteStation.class);
carpoolRouteStations.add(carpoolRouteStation);
}

return carpoolRouteStations;
}


参考资料:

1、FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  fastjson