JSON对象与实体类对象的转换

相信在Java开发的过程中 小伙伴一定遇到不少 JSON转换的问题吧!例如在对接的过程中,小伙伴给你专递的结构体是JSON,而你需要转为实体类。

1、对象转JSON  一般用在日志输出

        JSONObject.toJSONString(Pojo)

        未转换的实体对象打印

    log.info("mapDots:{}", mapDots)
mapDots:[MapDot(dotId=0, mapId=null, dotNum=null, name=Name0, centerX=null, centerY=null, centerZ=null, upHeight=null, avoidType=null, dotType=null, isDisable=null, isDeleted=null, isLocked=null, radius=null, gmtCreate=null, gmtModified=null), MapDot(dotId=1, mapId=null, dotNum=null, name=Name1, centerX=null, centerY=null, centerZ=null, upHeight=null, avoidType=null, dotType=null, isDisable=null, isDeleted=null, isLocked=null, radius=null, gmtCreate=null, gmtModified=null), MapDot(dotId=2, mapId=null, dotNum=null, name=Name2, centerX=null, centerY=null, centerZ=null, upHeight=null, avoidType=null, dotType=null, isDisable=null, isDeleted=null, isLocked=null, radius=null, gmtCreate=null, gmtModified=null)]

        转换的实体类对象打印

       log.info("mapDotsToJSON:{}", JSONObject.toJSONString(mapDots));

mapDots:[{"dotId":0,"name":"Name0"},{"dotId":1,"name":"Name1"},{"dotId":2,"name":"Name2"}]
2、JSON转对象

[
    {
        "dotId": 1,
        "name": "Name0",

         "age": 18
    }
]

 2.1 JSON转单对象

 2.1.1只获取对象的个别属性  举例:获取 dotId

Integer dotId = JSONObject.parseObject(oneMapDot, MapDot.class).getDotId();

Integer dotId1 = JSON.parseObject(oneMapDot, MapDot.class).getDotId();
  2.1.2 转为单对象
// 方法1
MapDot mapDot = JSONObject.parseObject(oneMapDot, MapDot.class);


// 方法2
MapDot mapDot1 = JSON.parseObject(oneMapDot, MapDot.class);

2.2  JSON对象转List<Pojo>

{
    "id":"1",
    "username":"admin",
    "data": [{
        "id": "1",
        "name": "小米手机",
        "price": "1800"
    },{
        "id": "2",
        "name": "菠萝手机",
        "price": "300"
    },{
        "id": "3",
        "name": "苹果",
        "price": "4800"
    }
    ]
}

// JSONObject
 List<MapDot> mapDots1 =
JSONObject.parseArray(responeResult.getData().toString(), MapDot.class);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值