JSON 和 POJO 互转,List<T> 和 JSON 互转

JSON 和 POJO

import com.alibaba.fastjson.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
* 对象POJO和JSON互转
*
* @author mxn
* @create 2018-09-05 14:35
*/

public class JsonUtil {

public static final Logger logger = LoggerFactory.getLogger(JsonUtil.class);

/**
* JSON 转 POJO
* @param pojo
* @param tClass
* @param
* @return
*/
public static T getObject(String pojo, Class tClass) {
try {
return JSONObject.parseObject(pojo, tClass);
} catch (Exception e) {
logger.error(tClass + "转 JSON 失败");
}
return null;
}

/**
* pojo 转json
* @param tResponse
* @param
* @return
*/
public static String getJson(T tResponse) {
String pojo = JSONObject.toJSONString(tResponse);
return pojo;
}
}

List 和 JSON

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;

import java.util.List;

/**
* List集合和JSON互转工具类
* @author mxn
* @create 2018-09-05 14:45
*/

public class JsonListUtil {

/**
* List 转 json
* @param ts
* @param
* @return
*/
public static String listToJson(List ts){
return JSON.toJSONString(ts);
}

/**
* json 转 List
* @param jsonStr
* @param tClass
* @param
* @return
*/
public static List jsonToList(String jsonStr, Class tClass) {
return JSONArray.parseArray(jsonStr, tClass);
}

}

测试#

POJO和JSON

import org.junit.Test;
import org.seckill.entity.Seckill;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
* @author mxn
* @create 2018-09-05 14:40
*/
public class JsonUtilTest {

public static final Logger logger = LoggerFactory.getLogger(JsonUtilTest.class);

@Test
public void method1() {
Seckill seckill = new Seckill();
seckill.setName("Iphone X");
String json = JsonUtil.getJson(seckill);
logger.info("JsonUtilTest.method1 info={}",json);

Seckill object = JsonUtil.getObject(json, Seckill.class);
logger.info("JsonUtilTest.method1 info={}",object.getName());
}

}

List 和 JSON

import org.junit.Before;
import org.junit.Test;
import org.seckill.entity.Seckill;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.ArrayList;
import java.util.List;

/**
* @author mxn
* @create 2018-09-05 14:48
*/
public class JsonListUtilTest {

public static final Logger logger = LoggerFactory.getLogger(JsonListUtilTest.class);

private List list = new ArrayList();

private String jsonStr;

@Before
public void beforeMethod() {
for (int i = 0; i < 5; i++) {
Seckill seckill = new Seckill();
seckill.setName("iphone " + i);
list.add(seckill);
}
jsonStr = "[{"name":"iphone 0","number":0,"seckillId":0},{"name":"iphone 1","number":0,"seckillId":0},{"name":"iphone 2","number":0,"seckillId":0},{"name":"iphone 3","number":0,"seckillId":0},{"name":"iphone 4","number":0,"seckillId":0}]";
}

@Test
public void method() {
String s = JsonListUtil.listToJson(list);
logger.info("JsonListUtilTest.method info={}",s);
}

@Test
public void method2() {
List seckills = JsonListUtil.jsonToList(jsonStr, Seckill.class);
for (Seckill seckill : seckills) {
logger.info("JsonListUtilTest.method2 info={}",seckill.getName());
}
}

}

POJO

import java.util.Date;

/**
* @author mxn
* @create 2018-05-17 15:36
*/

public class Seckill {

private long seckillId;

private String name;

private int number;

private Date startTime;

private Date endTime;

private Date createTime;

public long getSeckillId() {
return seckillId;
}

public void setSeckillId(long seckillId) {
this.seckillId = seckillId;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getNumber() {
return number;
}

public void setNumber(int number) {
this.number = number;
}

public Date getStartTime() {
return startTime;
}

public void setStartTime(Date startTime) {
this.startTime = startTime;
}

public Date getEndTime() {
return endTime;
}

public void setEndTime(Date endTime) {
this.endTime = endTime;
}

public Date getCreateTime() {
return createTime;
}

public void setCreateTime(Date createTime) {
this.createTime = createTime;
}

@Override
public String toString() {
return "Seckill{" +
"seckillId=" + seckillId +
", name='" + name + ''' +
", number=" + number +
", startTime=" + startTime +
", endTime=" + endTime +
", createTime=" + createTime +
'}';
}
}

posted @ 2018-09-05 15:08  为你撑起一片天  阅读(2012)  评论(0)    收藏  举报