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 <T>
* @return
*/
public static <T> T getObject(String pojo, Class<T> tClass) {
try {
return JSONObject.parseObject(pojo, tClass);
} catch (Exception e) {
logger.error(tClass + "转 JSON 失败");
}
return null;
} /**
* pojo 转json
* @param tResponse
* @param <T>
* @return
*/
public static <T> 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<T> 转 json
* @param ts
* @param <T>
* @return
*/
public static <T> String listToJson(List<T> ts){
return JSON.toJSONString(ts);
} /**
* json 转 List<T>
* @param jsonStr
* @param tClass
* @param <T>
* @return
*/
public static <T> List<T> jsonToList(String jsonStr, Class<T> 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<Seckill> list = new ArrayList<Seckill>(); 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<Seckill> 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 +
'}';
}
}

最新文章

  1. Structure Of Management Information - SNMP Tutorial
  2. 解决MD5问题
  3. Essential C++中文版 前言
  4. VIM如何将全部内容复制并粘贴到外部
  5. iptables 代理设置
  6. Android之AndroidManifest.xml文件解析
  7. libjingle线程机制
  8. [JS]Cookie精通之路
  9. Palindrome Linked List 解答
  10. C#平衡树(AVLTree)
  11. js数组快速排序
  12. Prometheus安装和配置node_exporter监控主机
  13. 微软改名部又出动啦!微软宣布VSTS改名为Azure DevOps
  14. Confluence 6 SQL Server 测试你的数据库连接
  15. LintCode: Count and Say
  16. Java多线程-BlockingQueue-ArrayBlockingQueue-LinkedBlockingQueue
  17. Sql server在另一台服务器,在Visual Studio 中没问题,IIS中 提示“在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。。。。”
  18. HBase基础概念
  19. Code Forces 652C Foe Pairs
  20. winrar X64 win10 破解

热门文章

  1. day31 反射,内置方法,元类
  2. CSS 的层叠上下文是什么
  3. 武汉百得思维Java面试总结
  4. java 面向对象(九):类的结构:构造器(一)简介;属性赋值顺序;JavaBean的概念
  5. 数据可视化之powerBI基础(十七)掌握PowerBI按列排序,再也不用担心顺序错乱了
  6. 机器学习实战基础(二十):sklearn中的降维算法PCA和SVD(一) 之 概述
  7. Zabbix 4.0 API 实践,主机/主机群组 批量添加模板和删除模板
  8. js获取url并截取相应的字段,js解决url获取中文字段乱码问题
  9. jsp中获取路径信息的方法
  10. javascript : 对象取值练习