fastjson类型转换

fastjson参考

参考:http://doc.yaojieyun.com/www.runoob.com/w3cnote/java-json-instro.html
参考: http://doc.yaojieyun.com/www.runoob.com/w3cnote/fastjson-intro.html
序列化:JSON.toJSONString(person)将Java 对象转换为 JSON 字符串;
反序列化:JSON.parseObject() 将 JSON 字符串转换为 Java 对象;

@JSONField(name=“AGE”, serialize=false)
@JSONField(name = “DATE OF BIRTH”, deserialize=false)

Object转为其他类型

Map<String,Object> map = JsonUtils.parseObject(s, Map.class);

String accessToken = (String) map.get("access_token");
// Integer 转化为 Long
Long expiresIn = Long.valueOf(map.get("expires_in").toString());

在这里插入图片描述

fastjson和jackson gson和fastjson

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.28</version>
</dependency>
JSONObject jsonObject = JSONObject.parseObject(s);
String accessToken = jsonObject.getString("access_token");
long expiresIn = jsonObject.getLongValue("expires_in");

配置MessageConverter

字段配置优先级> 全局配置(MessageConverters注释的优先级 > application.yml)

@Data
public class TestPojo {
	private String msg;
	private String address;

	@JsonInclude(JsonInclude.Include.ALWAYS)
	private String data;
	
	@JSONField(name="DATE OF BIRTH", format="yyyy-MM-dd HH:mm:ss", ordinal = 3)
	private String time;
	private Integer ok;
}
spring:
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: GMT+8
    default-property-inclusion: NON_NULL

MessageConverters注释的优先级大于application.yml

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
    @Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
        converters.add(new ByteArrayHttpMessageConverter());
        converters.add(new StringHttpMessageConverter());
        converters.add(new ResourceHttpMessageConverter());
        converters.add(new AllEncompassingFormHttpMessageConverter());
        converters.add(jackson2HttpMessageConverter());
    }

    @Bean
    public MappingJackson2HttpMessageConverter jackson2HttpMessageConverter() {
        MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
        ObjectMapper mapper = new ObjectMapper();

        //忽略未知属性
        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

        //日期格式转换
        //mapper.setDateFormat(new SimpleDateFormat(DateUtils.DATE_PATTERN));
        mapper.setTimeZone(TimeZone.getTimeZone("GMT+8"));

        mapper.setDefaultPropertyInclusion(JsonInclude.Include.NON_NULL);

        //Long类型转String类型
        SimpleModule simpleModule = new SimpleModule();
        simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
        simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance);
        mapper.registerModule(simpleModule);

        converter.setObjectMapper(mapper);
        return converter;
    }
}

idea快速实现pojo与json转换编辑

参考: https://editor.csdn.net/md/?articleId=130853605

Gson之toJson和fromJson方法

参考: https://blog.csdn.net/qq_43842093/article/details/121258638

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值