Json字符串和对象相互转换[通俗易懂]

Json字符串和对象相互转换[通俗易懂]importcom.fasterxml.jackson.databind.ObjectMapper;publicclassJsonUtil{privatestaticfinalObjectMapperMAPPER=newObjectMapper();/***把对象转字符串*@paramdata*@return*/publicstaticStringobjectToJson(Objec

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

1、JsonUtil

工具类

import com.fasterxml.jackson.databind.ObjectMapper;

public class JsonUtil { 
   


    private static final ObjectMapper MAPPER = new ObjectMapper();


    /** * 把对象转字符串 * @param data * @return */
    public static String objectToJson(Object data){ 
   
        try { 
   

            return MAPPER.writeValueAsString(data);

        }catch (Exception e){ 
   
            e.printStackTrace();
        }
        return null;
    }


    /** * json字符串转对象 * @param jsonData * @param beanType * @param <T> * @return */
    public static <T> T jsonToPojo(String jsonData, Class<T> beanType){ 
   

        try { 
   
            T t = MAPPER.readValue(jsonData,beanType);
            return t;
        }catch (Exception e){ 
   
            e.printStackTrace();
        }
        return null;


    }

}

Jetbrains全家桶1年46,售后保障稳定

Jackson

把对象转换为json字符串

ObjectMapper objectMapper = new ObjectMapper();
People peo = new People();
String jsonStr = objectMapper.writeValueAsString(peo);

把json字符串转换为对象

ObjectMapper objectMapper = new ObjectMapper();
People peo = objectMapper.readValue(jsonStr, People.class);

把json字符串转换为List集合

ObjectMapper objectMapper = new ObjectMapper();
JavaType javaType = objectMapper.getTypeFactory().constructParametricType(List.class, People.class);
List<People> list = objectMapper.readValue(jsonStr, javaType);

2、Gson

把对象转换为json字符串

Gson gson = new Gson();
String userJson = gson.toJson(userObject);

把json字符串转换为对象

// str代表的是json字符串,Student.class代表的是你要转成的类型
Gson gson = new Gson();
Student student = gson.fromJson(str, Student.class);

把json字符串转换为List对象

Type type = new TypeToken<List<User>>() { 
   }.getType();
List<User> userLists = new Gson().fromJson(json, type);

把list转换为json格式字符串

String json = new Gson().toJson(list);
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/234871.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • parentNode,firstChild,parentNode,nextSibling;

    parentNode,firstChild,parentNode,nextSibling;UntitledDocument                  functiontest1(){            varnode=document.getElementById(“imgid2”);             varpimg=node.parentNode.firstChild;

    2022年7月15日
    11
  • oracle补位函数 不足位数补0[通俗易懂]

    oracle补位函数 不足位数补0[通俗易懂]不足位数补位的函数:1.左补位函数LPAD(原始字符,填充后长度,填充字符)2.右补位函数RPAD(原始字符,填充后长度,填充字符)如运行selectlpad(‘123’,6,0)col1fromdual;结果selectrpad(‘123’,6,0)col1fromdual;结果…

    2022年9月6日
    7
  • Vue上传图片_实现线程的四种方式

    Vue上传图片_实现线程的四种方式项目中需要上传图片可谓是经常遇到的需求,本文将介绍3种不同的图片上传方式,在这总结分享一下,有什么建议或者意见,请大家踊跃提出来。没有业务场景的功能都是耍流氓,那么我们先来模拟一个需要实现的业务场景。假设我们要做一个后台系统添加商品的页面,有一些商品名称、信息等字段,还有需要上传商品轮播图的需求。我们就以Vue、Element-ui,封装组件为例子聊聊如何实现这个功能。其他框架或者不用框架…

    2022年8月15日
    8
  • 如何在eclipse中导入java工程文件和java源代码文件

    如何在eclipse中导入java工程文件和java源代码文件一、如何在eclipse中导入工程文件1.File–>Import2.General下拉,点一下ExistingProjectsintoWorkspace,再点Next3.点Browse选择工程的位置,勾上Copyprojectsintoworkspace最后点Finish2.如何导入已有的java源文件到包下操作过程:把原有的java源文件复制,点一下选中要复制到的包下,在粘贴一下即可。…

    2022年7月7日
    28
  • Ubuntu LVS配置[通俗易懂]

    Ubuntu LVS配置[通俗易懂]UbuntuLVS配置1.      拓扑结构图1.拓扑图2.      角色描述LVS-DR-Master:LVS-DR负载均衡主服务器;LVS-DR-Slave0:从服务器0;LVS-DR-Slave1:从服务器1; 3.      配置3.1  LVS-DR-Master配置配置虚拟IP:#ifconfigeth0:1192

    2022年7月23日
    7
  • BigDecimal.setScale用法总结

    1. BigDecimalnum1=newBigDecimal(2.225667);//这种写法不允许,会造成精度损失2. BigDecimalnum2=newBigDecimal(2);//这种写法是可以的3. BigDecimalnum=newBigDecimal("2.225667");//一般都会这样写最好4. intcount=num.scale();  …

    2022年4月5日
    55

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号