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 +
'}';
}
}

JSON 和 POJO 互转,List<T> 和 JSON 互转的更多相关文章

  1. Json、JavaBean、Map、XML之间的互转

    思路是JavaBean.Map.XML都可以用工具类很简单的转换为Json,进而实现互相转换 1.Map.XML与Json互转 mvn依赖 <dependency> <groupId ...

  2. 总结的一些json格式和对象/String/Map/List等的互转工具类

    总结的一些json格式和对象/String/Map/List等的互转工具类,有需要的可以看看,需要引入jackson-core-asl-1.7.1.jar.jackson-jaxrs-1.7.1.ja ...

  3. json转字符串,json转list,json转pojo的工具类

    package com.loveshop.util; import java.util.List; import com.fasterxml.jackson.core.JsonProcessingEx ...

  4. 转载-------- JSON 与 对象 、集合 之间的转换 JSON字符串和java对象的互转【json-lib】

    转载--*--*---- 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,J ...

  5. json与list,map,String之间的互转

    package tools; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import j ...

  6. JSON转JS对象,JS对象转JSON

    一.从服务端发来的json字符串,怎么才能作为JavaScript对象(JSON对象)在web端调用呢? 1.如果使用jQuery,就很方便了,可以在ajax一系列函数中,把参数Datatype传js ...

  7. ajax 发送json数据时为什么需要设置contentType: "application/json”

    1. ajax发送json数据时设置contentType: "application/json”和不设置时到底有什么区别? contentType: "application/j ...

  8. ajax发送json数据时为什么需要设置contentType: "application/json”

    1. ajax发送json数据时设置contentType: "application/json”和不设置时到底有什么区别?contentType: "application/js ...

  9. json数组转普通数组 普通数组转json数组

    1.json_decode() json_decode (PHP 5 >= 5.2.0, PECL json >= 1.2.0) json_decode — 对 JSON 格式的字符串进行 ...

随机推荐

  1. Halcon采集图像Image Acquisition解析

    很明显,图像的采集是所有机器视觉应用中必须解决的问题,HALCON提供了为各种图像采集设备执行这种交互的接口,图像采集的任务被简化为几行代码,只需几个操作符的调用,更重要的是,这种简单并不是以限制可用 ...

  2. Report.Net 本地数据库、WebService、Socket报表

    本地.服务器的Access.Sql报表编辑.预览.打印. 可自定义预览界面,可方便嵌入到你的程序中去,提供接口函数,如有需要可自行添加接口. 预览采用单双面方式,因为如果页面过多,预览不能全部加载,所 ...

  3. day39 作业

    实现生产消费原理 from multiprocessing import Process,JoinableQueue import time import random def cooker(q): ...

  4. Python之网络编程 Socket编程

    本节内容: Socket语法及相关 SocketServer实现多并发 Socket语法及相关 socket概念 socket本质上就是在2台网络互通的电脑之间,架设一个通道,两台电脑通过这个通道来实 ...

  5. C#生成Excel文档(EPPlus)

    1.公式计算 worksheet.Cells["D2:D5"].Formula = "B2*C2";//这是乘法的公式,意思是第二列乘以第三列的值赋值给第四列, ...

  6. Java 分布式任务调度平台:PowerJob 快速开始+配置详解

    本文适合有 Java 基础知识的人群 作者:HelloGitHub-Salieri 引言 HelloGitHub 推出的<讲解开源项目>系列. 项目地址: https://github.c ...

  7. day1 python计算器底层运作,注释及变量

    每日一记 utf-8 国际标准编码(可变长的unicode编码)中文3字节,英文数字特殊字符1字节 gbk 中国标准编码 中文2字节,英文数字特殊字符1字节 1.原码,反码,补码 "&quo ...

  8. Ethical Hacking - NETWORK PENETRATION TESTING(16)

    ARP Poisoning - MITMf MITMf is a framework that allows us to launch a number of MITM attacks. MITMf ...

  9. try-catch- finally块中, finally块唯一不执行的情况是什么?

    除非在try块或者catch块中调用了退出虚拟机的方法(即System.exit(1);),否则不管在try块.catch块中执行怎样的代码,出现怎样的情况,异常处理的finally块总是会被执行的 ...

  10. 通过Vue实现的todolist

    和接口对接的todolist因为有后台的存在,todolist获取的数据会一直存在不丢失(不管你如何刷新页面),思路如下: 首先得先搞到接口: 通过这个接口地址可以获取整段的数据,成功err为0. 于 ...