简单易懂的Json的使用教程(jackson/fastjson)

Json的使用

前言

写好了一个项目,总结一下jason的使用,String类型的数据与Jason类型的数据之间相互转化的json解析工具有:Jackson,阿里巴巴的fastjson。本篇文章着重介绍一下jackon

Jason的使用

1.导包

百度jackson-databind,到Maven仓库里找到jackson的依赖,写入pom.xml里

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.11.0</version>
</dependency>

2.方法

ObjectMapper mapper =new ObjectMapper();
//将传入的值直接转换;
String parameter =mapper.writeValueAsString(传入值)
问题

1.乱码问题:
在@Requstmapping下的源码里发现有一个produces方法,这个就是来解决乱码的。
将@RequestMapping设置完路径后再加上一个值:

@RequestMapping(value = "/Test",produces="application/json;charest=utf-8")

就ok了 。

也可以去网上百度配置,一大堆懒得找了。
2.传时间问题
默认的是传输时间戳的格式,可以用
mapper.configure(SerializationFeature.WRITE_DATE_AS_TIMESTAMPS,false)关闭默认,后面就可以自定义日期格式了。
下面是我自己的代码

package com.jic.common.utils.jason;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;

import java.text.SimpleDateFormat;

/**
 * @author LiHeYun
 * @date 2020/7/30 14:14
 */
public class JsonUtils {
    public static String getJson(Object object){
        return getJson(object,"yyyy-MM-dd HH:mm:ss");
    }
    public static String getJson(Object object,String dateFormat){
        ObjectMapper mapper=new ObjectMapper();

//        不使用时间戳的格式
        mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS,false);
//        自定义格式
        SimpleDateFormat sdf=new SimpleDateFormat(dateFormat);
        mapper.setDateFormat(sdf);

        try {
            return mapper.writeValueAsString(object);
        } catch (JsonProcessingException e) {
            e.printStackTrace();
        }return null;
    }
}

自己定义了一个utils包,把常用的工具都放里面了,这样下次再调的时候就直接JsonUtils.getJson就可以了。

FastJson的使用

1.导包

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.70</version>
</dependency>

2.方法

//JAVA对象转换为JSON字符串
String str1=JSON.toJSONString(userList);
//JSON字符串转换为JAVA对象
User jp_user1=JSON.parseObject(str2,User.class);
//JAVA对象转换为JSON对象
JSONObject jsonObject1=(JSONObject) JSON.toJSON(user2);
//JSON对象转JAVA对象
User to_java_user=JSON.toJavaObject(jsonObject1,User.class)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值