反序列化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

诡异的Json反序列化问题 这个问题最终发现还是转义的问题。那么,之前Test类中json字符串,也使用了转义,为什么没有问题?但在filter中的程序,在读取到这个json字符串之后,发现该字符串中包含了\转义符号,程序自动把它变成了\\\。 阅读详情

相关推荐

JSON序列化与反序列化一个集合

一、JSON序列化一个集合 1.序列化集合films using System; using System.Collections.Generic; using System.Linq; using System.Text; using Newtonsoft.Json; namespace JSONDemo { class Program {

lovegonghui的专栏 4492

JSON 序列化 反序列化

其实就是转换数据格式的过程。

weixin_61819056的博客 1739

JSON反序列化的原理与实践

在编程领域,反序列化是一种技术手段,将序列化后的数据(如JSON或XML格式)还原成原始的数据结构。对于JSON,反序列化就是将JSON格式的字符串解析为程序能操作的对象或数据结构。这一过程在数据交换、服务调用、网络通信以及存储数据时至关重要。随着应用程序复杂性的增加,对JSON反序列化过程中数据类型匹配的准确性要求也越来越高。本章将深入探讨数据类型匹配问题以及自定义映射的策略与技巧,确保开发者能够在不同编程语言之间以及在自定义数据结构转换时保持数据的完整性和准确性。

weixin_42518874的博客 946

Json介绍——序列化与反序列化

介绍了json的序列化和反序列化概念,并用若干测试代码进行了json的序列化和反序列化使用展示

mrqiuwen的博客 1万+

EEGLAB+ERPLAB实战:从.cnt文件到情绪ERP差异波,一份避坑指南

本文详细介绍了使用EEGLAB和ERPLAB处理Neuroscan的.cnt格式脑电数据的全流程,从数据导入、预处理到情绪ERP差异波生成。重点解决了采样率验证、事件标记检查、重参考选择、滤波策略与ICA组合等实操难题,并提供了情绪图片ERP研究中P1、EPN和LPP成分的分析技巧,帮助研究者避免常见错误,提升数据处理效率。

weixin_26795617的博客 266

Word | 简单可操作的快捷公式编号、右对齐和引用方法

在理工科论文的写作中,涉及到大量的公式输入,我们希望能够按照章节为公式进行编号,并且实现公式居中,编号右对齐的效果。网上有各种各样的方法来实现,操作繁琐和简单的混在一起,让没有接触过公式编号的人感觉比较混乱。笔者自己博览相关博客,亲身实践,总结出一套自认为比较简便的公式编号、对齐和引用方法,在这里分享给大家~

qq_43466146的博客 3万+

@JsonProperty序列化和反序列化使用

@JsonProperty("this_name") private String thisName;    被注解标识后,controller返回序列化参数后变为this_name,当接受application/json编码格式的参数时,同样需要接收参数为this_name的参数.但是当用表单提交时,则必须传thisName或ThisName才能接收...

myth_g的博客 1万+

交叉编译Qt6.5.3(RK3568开发板)

注意,如果使用其它版本的交叉编译器的话,请确保你的交叉编译器能够支持 C++17标准。为确保后续交叉编译没问题,需要确保开发板使用的GLIBC版本不小于2.34版本。到 linaro 网站上下载交叉编译工具,我下载的是 gcc-linaro-11.3.1-2022.06-x86_64_aarch64-linux-gnu.tar.xz。安装 CMake ,最低要求3.16版本,如果要静态编译,需要3.21及以上版本。我使用的3.27版本。:指定为最后交叉编译后的Qt6.5.3库的安装目录。

m0_46309425的博客 5104

JSON序列化与反序列化到文件

一、序列化成一个文件 1.JSON序列化成一个文件,此文件到记事本可以打开。首先先创建一个Movie对象. using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace JSONDemo { public class Movie {

lovegonghui的专栏 1586

Qupath软件的安装与使用

Qupath软件的安装与使用软件安装软件下载软件安装【windows版】简单使用文件打开人工标注标注导出和导入 Qupath是一款开源的医学图像标注软件,适合放射影像及数字病理切片等的查看。同时,其自带的标注功能使得医生可以直接通过该软件进行病变区域的标注和分类。跟进一步的,该软件提供groovy脚本运行接口,可供操作者编写和运行脚本,将标注信息转换为xml或者json格式的数据进行进一步的后序处...

qq_40662074的博客 3万+

一窥Memory测试算法及自我修复机制

摘要 为了满足新一代设备的需求,Memory的大小每三年就会增加4倍。深亚微米设备包含大量面积更小、访问速度更快的Memory。针对此类设计制定自动测试策略可以减少ATE(自动测试设备)的时间和成本。 内存故障的行为与经典的“Stuck-At”故障不同。因此,Memory的故障模型(由于其阵列结构)与标准逻辑的设计也是不同的。Memory测试除了进行故障检测和定位,还可以实现用冗余单元对...

路科验证 2万+

Newtonsoft.Json.dll 反序列化JSON字符串 .

上一篇JSON博客《JSON入门级学习小结--JSON数据结构》中已对JSON做了简单介绍,JSON字符串数组数据样式大概是这样子的:               如今因为项目需求(asp.net web网站,前台向后台传递JSON数据,并对JSON数据处理,详述见博客《  《项目经验》--通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json

喜欢在细雨中散步 2625

【软件使用】向日葵网络连接错误

一直报这个错误,尝试了修改版本无果,各种密码都正确,最后得出结轮是时间没有同步,查看代理是否更改了时间,做一下同步即可。

andeyeluguo的博客 7975

【C#】【Json】Json序列化与反序列化

JSON 类似 XML JSON 是纯文本 JSON 具有“自我描述性”(人类可读) JSON 具有层级结构(值中存在值) JSON 可通过 JavaScript 进行解析 JSON 数据可使用 AJAX 进行传输 为什么使用 JSON? 对于 AJAX 应用程序来说,JSON 比 XML 更快更易使用: 使用 XML 读取 XML 文档 使用 XML DOM 来循环遍历文档 读取值并存储在...

学海无涯苦作舟 1165

PCL 将对象模板与点云对齐【2025最新版】

PCL模版匹配算法的使用案例,博客长期更新,本文最近更新时间为:2025年1月18日。

点云侠的博客 5379

YOLOv8改进 | Conv篇 | 利用YOLO-MS的MSBlock轻量化网络结构(既轻量又长点)

本文给大家带来的改进机制是利用YOLO-MS提出的一种针对于实时目标检测的MSBlock模块,我们将其用于C2f中组合出一种新的结构,来替换我们网络中的模块可以达到一种轻量化的作用,我将其用于我的数据集上实验,包括多个类别的数据集,其在轻量网络结构的同时,却能够提高一定的mAP精度,所以这是一种十分高效的模块,该网络结构非常适合那些模型精度已经无法提到,想要从轻量化模型的角度入手的读者使用。欢迎大家订阅本专栏,本专栏每周更新3-5篇最新机制,更有包含我所有改进的文件和交流群提供给大家。

Snu77的博客 6095

Json Js Json对象 Json字符串 序列化与反序列化

Json Js Json对象 Json字符串 序列化与反序列化 Json JavaScript Object Notation -JavaScript 用于存储和交换文本信息的语法,进行数据的传输,JSON比 XML 更小、更快,更易解析。 var person = {"name": "张三", age: 23, 'gender': true}; var ps = [{"name": "张三", "age": 23, "gender": true}, {"name": "李四", "

许久 2522

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Java JSON反序列化技术详解

本文介绍了在Java中使用Jackson库进行JSON反序列化的基本步骤和高级技巧。首先,推荐使用Jackson库,因其高性能和功能丰富。接着,详细说明了如何通过Maven引入Jackson依赖,并展示了基本反序列化示例。文章还涵盖了处理字段名称不一致、日期格式、嵌套对象和数组、多态类型、未知字段、自定义反序列化逻辑、空值和默认值、验证和调试等常见问题。此外,提供了处理类型不匹配、缺少无参构造函数、循环引用、泛型类型擦除等错误的解决方案。

m0_65181864的博客 1257

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Newtonsoft.Json.dll 反序列化JSON字符串

上一篇JSON博客《JSON入门级学习小结--JSON数据结构》中已对JSON做了简单介绍,JSON字符串数组数据样式大概是这样子的:               如今因为项目需求(asp.net web网站,前台向后台传递JSON数据,并对JSON数据处理,详述见博客《  《项目经验》--通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json

马兆娟 廊坊师范学院信息技术提高班第八期 4万+

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Newtonsoft.Json.dll反序列化JSON字符串的方法

1.直接反序列化JSON字符串 //引用序列化、反序列化JSON字符串用到的空间 using Newtonsoft.Json; using Newtonsoft.Json.Linq; //定义一个JSON字符串 string jsonText = "[{'a':'aaa','b':'bbb','c':'ccc'},{'a':'aa...

diaohang9778的博客 242

golang json 序列化、反序列化 字符串反序列化

在使用Golang进行开发时,经常会遇到需要将一段JSON字符串进行序列化和反序列化的情况。我们可以使用JSON来保存用户的注册信息,并在需要时将其序列化和反序列化。需要注意的是,为了将JSON字符串正确解析为结构体,我们需要将JSON字符串转换为字节数组([]byte),并将结构体变量的指针传给​。在结构体字段的标签中可以定义序列化和反序列化时的名称,以便更好地控制JSON的格式。以上就是对Golang中JSON序列化、反序列化以及字符串反序列化的详细介绍。​包来处理JSON的序列化和反序列化。

牛肉胡辣汤 1164

使用Jackson库进行JSON序列化和反序列化

JSON序列化是将Java对象转换为JSON字符串的过程。在JSON序列化过程中,Java对象的属性将被转换为JSON对象的键值对,如果Java对象包含其他Java对象或集合,这些嵌套对象也会被转换为嵌套的JSON对象和JSON数组。JSON反序列化是将JSON字符串转换为Java对象的过程。在JSON反序列化过程中,JSON对象的键值对将被转换为Java对象的属性,如果JSON对象包含其他JSON对象或JSON数组,这些嵌套的JSON也会被转换为嵌套的Java对象和Java集合。

weixin_66196770的博客 3533

json模块的反序列化

json模块的反序列化 一.json的特点: 1.只能处理简单的可序列化的对象,如字典,列表,元组; 2.json支持不同语言的数据交互,如python和Java之间的交互 二.json的使用场景 1.玩游戏是不方便的挂机 2.虚拟机挂起/保存和恢复文档 首先利用常规的方法进行反序列化 代码块如下: _author_ =&quot;huang w...

weixin_43171827的博客 233

C# JSON之序列化与反序列化

C# JSON之序列化与反序列化

wangnaisheng的专栏 9717

C#中Json序列化和反序列化总结

Json序列化和反序列化总结 JSON介绍1.什么是JSON?2.JSON基于两种结构:3.几种表现形式:4.序列化和反序列化的4中方式:JavaScriptSerializer类1.定义2.示例 JSON介绍 1.什么是JSON? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它使得人们很容易的进行阅读和编写。同时也方便了机器进行解析和生成。 JSON采用完全独立于程序语言的文本格式。这些特性使JSON成为理想的数据交换语言。 2.JSON基于两种结构:

jia380_csdn的博客 1万+

JSON序列化与反序列化匿名类型

一、序列化匿名类型 1.序列化一个var类型 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using GongHuiNewtonsoft.Json; namespace JSONDemo { class

lovegonghui的专栏 1万+
上一篇: H5 的 sessionStorage和localStorage
下一篇: JSON和Map,List,String互相转换
YMP35106933
博客等级 码龄12年 0粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值