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

原文地址:https://www.cnblogs.com/menxn/p/9592211.html

时间: 2024-07-29 09:20:52

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

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

原文:总结的一些json格式和对象/String/Map/List等的互转工具类 源代码下载地址:http://www.zuidaima.com/share/1550463691508736.htm 总结的一些json格式和对象/String/Map/List等的互转工具类,有需要的可以看看,需要引入jackson-core-asl-1.7.1.jar.jackson-jaxrs-1.7.1.jar.jackson-mapper-asl-1.7.1.jar这三个jar包 package com.

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

转载--*--*---- 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好,下面先看下JSON的格式, JSON可以有两种格式,一种是对象格式的,另一种是数组对象, {"name":"JSON","address":"北京市西城区","age":25}//JS

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

思路是JavaBean.Map.XML都可以用工具类很简单的转换为Json,进而实现互相转换 1.Map.XML与Json互转 mvn依赖 <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20171018</version> </dependency> entity public class Stud

JSON实用类,用来实现对象和JSON字符串的互相转换

import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.reflect.Field; import java.math.BigDecimal; import java.math.BigInteger; import java.util.ArrayList; import java.util.Lis

JSON转JS对象,JS对象转JSON

一.从服务端发来的json字符串,怎么才能作为JavaScript对象(JSON对象)在web端调用呢? 1.如果使用jQuery,就很方便了,可以在ajax一系列函数中,把参数Datatype传json即可,返回的data即为JSON对象. PS:如果要对表单处理为json字符串,可以使用.serialize()与.serializeArray()处理,如果要作为URL调用,则可以使用jQuery.param()处理. 2.$.parseJSON( jsonstr) 3.浏览器自带的JSON.

ajax 发送json数据时为什么需要设置contentType: &quot;application/json”

1. ajax发送json数据时设置contentType: "application/json"和不设置时到底有什么区别? contentType: "application/json",首先明确一点,这也是一种文本类型(和text/json一样),表示json格式的字符串,如果ajax中设置为该类型,则发送的json对象必须要使用JSON.stringify进行序列化成字符串才能和设定的这个类型匹配.同时,对应的后端如果使用了Spring,接收时需要使用@Req

PPI | protein-protein interaction | 蛋白互作分析 | gene interaction | 基因互作

前言 做RNA-seq基因表达数据分析挖掘,我们感兴趣的其实是“基因互作”,哪些基因影响了我们这个基因G,我们的基因G又会去影响哪些基因,从而得到基因调控的机制. 直觉确实是很明确的,但是细节处却有很多问题. 我们讨论的到底是基因表达的互作,还是基因产物的互作? ------------ 对于蛋白编码基因,它翻译产生蛋白,如果此蛋白不参与转录过程,理论上不可能会影响另一个基因的表达,那也就不存在基因表达的互作的,它们的基因表达被很好的隔离起来了,相互独立,互不影响. 但现在鉴定出了很多调控基因或

ajax发送json数据时为什么需要设置contentType: &quot;application/json”

1. ajax发送json数据时设置contentType: "application/json”和不设置时到底有什么区别?contentType: "application/json”,首先明确一点,这也是一种文本类型(和text/json一样),表示json格式的字符串,如果ajax中设置为该类型,则发送的json对象必须要使用JSON.stringify进行序列化成字符串才能和设定的这个类型匹配.同时,对应的后端如果使用了Spring,接收时需要使用@RequestBody来注解

JSON之Asp.net MVC C#对象转JSON,DataTable转JSON,List&lt;T&gt;转JSON,JSON转List&lt;T&gt;,JSON转C#对象

一.JSON解析与字符串化                                                                                            JSON.stringify() 序列化对象.数组或原始值 语法:JSON.stringify(o,filter,indent) o,要转换成JSON的对象.数组或原始值 filter,指定要序列化的属性名 indent,格式化为可读的代码,可指定分隔符或指定的缩进空格个数 var man