【攻防技术系列+漏洞复现】Fastjson①前置知识 -- fastjson怎么用?

news/2024/11/10 21:14:50/文章来源:https://www.cnblogs.com/o-O-oO/p/18299599

主题任务

在IDEA中新建一个maven项目,并引入fastjson依赖

工具

IntelliJ IDEA 2020.3
JDK 11

一、前置知识

1.1 fastjson怎么用?

fastjson是啥百度就有,看了之后不熟悉的人还是会一脸懵逼,我们可以通过以下这个demo来快速学会使用fastjson。

我们分为以下几个步骤来进行:

(1)在IDEA中新建一个maven项目,并引入fastjson依赖

选择Maven,然后给随便取个名字,例如我起名fastjson_research

然后在pom.xml这里的末尾,添加如下内容:

<dependencies><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.50</version></dependency>
</dependencies>

具体Maven的各个依赖的详细信息我们可以在这个网站上面查得到:

https://mvnrepository.com/artifact/com.alibaba/fastjson/1.2.50

然后点击右侧的Maven,然后点击Reload All Maven Projects,具体步骤,如下:

(2)一个简单的demo

package org.example;
import com.alibaba.fastjson.JSON;public class Main {public static void main(String[] args) {// 将一个 Java 对象序列化为 JSON 字符串Person person = new Person("Alice", 18);String jsonString = JSON.toJSONString(person);System.out.println(jsonString);// 将一个 JSON 字符串反序列化为 Java 对象String jsonString2 = "{\"age\":20,\"name\":\"Bob\"}";Person person2 = JSON.parseObject(jsonString2, Person.class);System.out.println(person2.getName() + ", " + person2.getAge());}// 定义一个简单的 Java 类public static class Person {private String name;private int age;public Person(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public int getAge() {return age;}}
}

具体步骤,如下:



通过以上代码我们可以看到,我们定义了一个Person类,并设置了两个属性age以及name,以及简单定义了四个方法。
我们通过Person person = new Person("Alice", 18);来初始化对象,再通过String jsonString = JSON.toJSONString(person);去把对象转化为json字符串,非常方便快捷;完事之后,我们又可以通过Person person2 = JSON.parseObject(jsonString2, Person.class);把json字符串转换为Java对象,非常简单快捷。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/742834.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

24暑期第七次训练C组

目录ABCDEFGHIJ A 生活大爆炸版石头剪刀布 纯模拟,保证AB之间能对应就行。 给出较朴素做法。 bool caiquan(int,int);int main(void) {int n,x,y,ans1 = 0,ans2 = 0,stp;cin >> n >> x >> y;vector<int> a(x);vector<int> b(y);for(auto &i…

4-电子商务物理与供应链管理

4.1 电子商务与物流 4.1.1 物流及物流标准化 1.物流的概念 根据我国国家标准在GB/T18345—2006《物流术语》中的表述,物流(Logistics):“物品从供应地向接受地的实体流动过程。根据实际需要,将运输、储存、配送、包装、装卸搬运、流通加工、信息管理等基本功能实施有机结合…

比赛获奖的武林秘籍:06 5分钟速通比赛路演答辩,国奖选手的血泪经验!

本文主要介绍了大学生电子计算机类比赛和创新创业类比赛常见雷点、要点和精髓,并对路演的定义和基本概念进行了说明,结合自身经历对路演答辩常见技巧和评委问题进行了总结。比赛获奖的武林秘籍:06 5 分钟速通比赛路演答辩,国奖选手的血泪经验! 摘要 本文主要介绍了大学生电…

汽车虚拟仿真vr技术的三个关键方面!

汽车作为人类生活中不可或缺的交通工具,同时也是展示个性和品味的重要象征。随着科技的迅猛发展和消费者需求的不断升级,汽车行业正处于持续创新和变革之中,在这个过程中汽车虚拟仿真VR看车技术正扮演着至关重要的角色,接下来,我们将逐一深入探讨汽车虚拟仿真VR技术的三个…

点评一下新手画的电路图

目的 实现5v升压到12v 原理图pcb问题 这是一个简单的直接抄的LT1930的电路,想知道能够如何改进,还有我想做一个防止这玩意gnd和12v插反导致板子直接寄,如何处理,之后会自己学会如何真正看懂这个图,目前大一刚结束还没学习数模电。

通达OA,远程命令执行漏洞复现

一、漏洞描述 通达OA是由北京通达信科科技有限公司开发的一款办公系统,前一段时间通达官方在其官网发布了安全提醒与更新程序,并披露有用户遭到攻击。攻击者可在未授权的情况下可上传图片木马文件,之后通过精心构造的请求进行文件包含,实现远程命令执行,且攻击者无须登陆认…

通达OA,远程命令执行漏洞的 利用复现(Exp-tools,getshell)

一、漏洞描述 通达OA是由北京通达信科科技有限公司开发的一款办公系统,前一段时间通达官方在其官网发布了安全提醒与更新程序,并披露有用户遭到攻击。攻击者可在未授权的情况下可上传图片木马文件,之后通过精心构造的请求进行文件包含,实现远程命令执行,且攻击者无须登陆认…

【考研数学】大部分真题解析只说了这道考研数学真题为什么选B,却不说其他选项为什么不对

今天要给大家分享的笔记是:《2022考研数二第03题解析》—— 市面上不少真题解析都只说了这道题目为什么选 B,但是,这些真题是用来练习的,我们不能只知道什么对,还要知道什么不对,这样才能对考研真题有更加深入的理解,才更有可能在考场上做题时游刃有余。 所以,跟「荒原…

通达OA远程命令执行漏洞利用复现(Exp-tools,getshell)

一、漏洞描述 通达OA是由北京通达信科科技有限公司开发的一款办公系统,前一段时间通达官方在其官网发布了安全提醒与更新程序,并披露有用户遭到攻击。攻击者可在未授权的情况下可上传图片木马文件,之后通过精心构造的请求进行文件包含,实现远程命令执行,且攻击者无须登陆认…

使用spring-webmvc6实现文件上传

使用SpringMVC6版本,不需要添加以下依赖:<dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.5</version> </dependency>新建maven模块springmvc-009,pom.xml<?…

基于ACO蚁群优化算法的WSN网络路由优化matlab仿真

1.程序功能描述基于ACO蚁群优化算法的WSN网络路由优化,通过蚁群优化迭代,在WSN中搜索一个最短的路由路径。在仿真过程中,实时显示每一次迭代过程中找到的路径,最后输出ACO的优化迭代过程,网络路由路径的搜索结果。2.测试软件版本以及运行结果展示 MATLAB2022a版本运行 3.…