反序列化JSON

本人编程生涯刚刚起步,以下是个人理解,如果有些不对的地方,请各位在评论区指出,如果有更详细的博客也可以推荐给我。

 

首先要根据JSON创建一个实体类,并且要实现Serializable接口,再创建一个JacksonUtils工具类

 

 1 import java.io.Serializable;
 2  
 3  public class Opst implements Serializable{
 4     
 5   
 6      private long dataCount;
 7      private long mediaCount;
 8   
 9      public long getDataCount() {
10          return dataCount;
11      }
12  
13      public void setDataCount(long dataCount) {
14          this.dataCount = dataCount;
15      }
16 
17     
18      public long getMediaCount() {
19          return mediaCount;
20      }
21  
22      public void setMediaCount(long mediaCount) {
23          this.mediaCount = mediaCount;
24      }
25  
26  }
 1 import com.fasterxml.jackson.databind.ObjectMapper;
 2 import com.fasterxml.jackson.databind.ObjectWriter;
 3 
 4 import java.io.File;
 5 import java.io.IOException;
 6 import java.io.Writer;
 7 
 8 public final class JacksonUtils {
 9 
10     private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
11 public static <T> T fromJsonString(String json, Class<T> clazz) {
12         if (json == null)
13             return null;
14         try {
15             return OBJECT_MAPPER.readValue(json, clazz);
16         } catch (Exception e) {
17             throw new RuntimeException("Unable to parse Json String.", e);
18         }
19         return null;
20     }
21 }

 

然后就可以反序列化了,以下是测试代码

import com.mhl.common.util.JacksonUtils;
1  public static void main(String[] args) {
2          String a="{\"dataCount\":29833,\"mediaCount\":4123}";
3          Opst opst = JacksonUtils.fromJsonString(a, Opst.class);
4          System.out.println(opst.getDataCount());
5          System.out.println(opst.getMediaCount());
6      }

 

输出结果

29833

4123

转载于:https://www.cnblogs.com/mahailun/p/mhl-20190909-JSON-Fan.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值