對象字段與json下劃線字段的相互轉換

項目中會常常用到實體的字體與數據庫對應字段的一種轉換,能夠利用fastjson進行字段映射,達到相互轉化的效果,或者是同步數據的時候也須要作相應的轉換,下面介紹下在項目中真實應用的場景:java

需求是:同步數據甲方要求同步的數據爲:數據庫

{json

"yy_id": "0",
"yy_create_user_id": "bjtoon_312672",
"yy_create_user_name": "0",
"yy_create_time": "2017-01-06 15:41:26"字體

}spa

而我方所對應字段是一個實體對象code

yyId,對象

yyCreateUserId,get

yyCreateUserName,同步

yyCreateTimeio

那麼怎麼可以實現這種轉換呢

利用fastjson的註解來作,能夠定義一個Vo對象來實現輕鬆轉換

第一種:註解

public class TestVo implements Serializable {
    private static final long serialVersionUID = 1L;

    @JSONField(name = "yy_id")
    private String yyId;

    @JSONField(name = "yy_create_user_id")
    private String yyCreateUserId;

    @JSONField(name = "yy_create_user_name")
    private String yyCreateUserName;

    @JSONField(name = "yy_create_time")
    private Date yyCreateTime;

    //省略set get方法

}

能夠使用json序列化進行轉化

String json = "
{
"yy_id": "0",
"yy_create_user_id": "bjtoon_312672",
"yy_create_user_name": "0",
"yy_create_time": "2017-01-01 15:41:26"
}
";

TestVo testVo = JSON.parseObject(json,TestVo .class);

經過這種轉換就能獲得實體對象。

第二種:

String json = JSON.toJSONString(TestVo);

序列化後的json如上所示:{"yy_id": "0","yy_create_user_id": "bjtoon_312672","yy_create_user_name": "0","yy_create_time": "2017-01-01 15:41:26"}

這樣就能達到相互轉換進行數據入庫。

相關文章
相關標籤/搜索