当前位置: 首页 > news >正文

云南建设厅和网站搜索引擎优化管理实验报告

云南建设厅和网站,搜索引擎优化管理实验报告,宁波网站建设大概要多少钱,小型电商平台有哪些前言: fastjson是一款强大的json格式转换工具,我个人在开发中就非常喜欢用fastjson;但是由于某些原因,导致fastjson会有一些漏洞,因此在漏洞扫描后需要修复都是要求我们升级版本,或者替换为jackjson&#…

前言:

fastjson是一款强大的json格式转换工具,我个人在开发中就非常喜欢用fastjson;但是由于某些原因,导致fastjson会有一些漏洞,因此在漏洞扫描后需要修复都是要求我们升级版本,或者替换为jackjson;fastjson漏洞提示如下:

1.将 FastJSON 升级到 1.2.83 及以上版本,或noneautotype版本,下载地址:https://repo1.maven.org/maven2/com/alibaba/fastjson/
2.临时修复建议:开启了autoType功能的受影响用户可通过关闭autoType来规避风险,另建议将JDK升级到最新版本。
   由于autotype开关的限制可被绕过,请受影响用户升级到FastJSON 1.2.68及以上版本,通过开启safeMode配置完全禁用autoType。三种配置SafeMode的方式如下:
  1)在代码中配置: ParserConfig.getGlobalInstance().setSafeMode(true);
  2)加上JVM启动参数: -Dfastjson.parser.safeMode=true (如果有多个包名前缀,可用逗号隔开)
  3)通过类路径的fastjson.properties文件来配置: fastjson.parser.safeMode=true

因此我这里来做一个fastjson和jackjson的使用方法,和一些对比;

Fastjson vs Jackson

设计方案

fastjson 和 Jackson 这两个库的设计方案存在差异。fastjson 采用的是完全基于注解(Annotation)的方式来标识某个 Java 对象属性是否需要序列化或者反序列化。而 Jackson 则采用了 Mixin 和 PropertyNamingStrategy 这两种技术。

序列化和反序列化

fastjson 和 Jackson 在序列化和反序列化过程中也有细微的区别。fastjson 的序列化和反序列化速度比 Jackson 要快得多。fastjson 可以通过一些配置选项来进一步优化性能,比如关闭循环引用检测、添加类型信息等。相比之下,Jackson 的性能会随着数据规模的增长而呈现出指数级增长。

使用方法

FastJson

1.添加 fastjson 依赖到项目中:
 <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.68</version></dependency>
2.使用示例:
 public class User {@JSONField(name = "username")private String username;@JSONField(name = "age")private int age;...}// 序列化User user = new User();user.setUsername("John");user.setAge(25);String jsonStr = JSON.toJSONString(user);System.out.println(jsonStr);// 反序列化String jsonStr = "{\"username\":\"John\",\"age\":25}";User user = JSON.parseObject(jsonStr, User.class);System.out.println(user.getUsername() + " " + user.getAge());

JackJson

1.添加 Jackson 依赖到项目中:
 <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.12.5</version></dependency>
2.在类上使用注解即可:
 class UserMixin {@JsonProperty("username")private String username;@JsonProperty("age")private int age;}public class User {private String username;private int age;...}ObjectMapper objectMapper = new ObjectMapper();objectMapper.addMixIn(User.class, UserMixin.class);objectMapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);// 序列化User user = new User();user.setUsername("John");user.setAge(25);String jsonStr = objectMapper.writeValueAsString(user);System.out.println(jsonStr);// 反序列化String jsonStr = "{\"username\":\"John\",\"age\":25}";User user = objectMapper.readValue(jsonStr, User.class);System.out.println(user.getUsername() + " " + user.getAge());
3.注意:

如果你想在使用 Jackson 的 ObjectMapper 转换对象为 Map 时,忽略空值字段,可以通过配置 ObjectMapper 的一些特性来实现。

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.ObjectMapper;ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
Map<String, Object> updateMap = objectMapper.convertValue(dto, Map.class);

在上述代码中,使用 setSerializationInclusion() 方法将属性为 null 的字段排除在转换过程之外。JsonInclude.Include.NON_NULL 表示将属性值为 null 的字段排除。

这样,在转换时,只会包含非空字段的键值对。

总结:

Fastjson 和 Jackson 都是非常好用的 JSON 库,但它们在设计方案、实现方式以及使用方法上存在一些差异。如果你需要一个功能丰富的 JSON 库,同时对性能要求较高,且要求轻便快捷操作简单的话,那么Fastjson 可能更适合你;而如果你更侧重于代码可读性和可维护性,Jackson 可能是更好的选择。无论哪个库,都需要根据具体业务场景和需求来选择。

http://www.hkea.cn/news/545953/

相关文章:

  • 用阿里巴巴店铺做公司网站怎么样引擎搜索有哪些
  • 网页制作软件属于什么软件类别简述seo的优化流程
  • 网站建设 公司新闻谷歌排名网站优化
  • 怎样做自己的vip解析网站佛山外贸seo
  • 我的网站在百度搜不到了seo是什么职业做什么的
  • 网站私信界面国外网站seo免费
  • wordpress mysql类惠州网站seo
  • 为什么做网站必须要用域名举出最新的网络营销的案例
  • 电子请柬网站开发百度竞价推广登录入口
  • 网站设计与推广国际时事新闻2022最新
  • 柬埔寨网站开发营销技巧和营销方法
  • 网站建立价格长沙网站外包公司
  • 王建设医生个人网站免费google账号注册入口
  • 免费自建手机网站搜索引擎优化的方法包括
  • 甘肃省建设工程安全质量监督管理局网站官网拉新项目官方一手平台
  • 做电影网站赚钱武汉新闻最新消息
  • 做网站没有成本的方法上海百度分公司电话
  • 寺庙网站建设百度ai人工智能
  • 完成公司网站建设下载关键词推广软件
  • wordpress如何关闭网站下载app
  • WordPress小程序二次修改石家庄seo排名外包
  • 做百度关键词网站厦门seo外包
  • 泉州seo-泉州网站建设公司谷歌关键词搜索工具
  • 组织部网站建设方案行业关键词分类
  • 上海黄浦 网站制作中国搜索引擎排名2021
  • 手机网站建设 cms营销技巧和营销方法
  • 平顶山做网站优化微博搜索引擎优化
  • 网站如何做品牌宣传海报每日舆情信息报送
  • 做论坛网站需要多大空间seo推广招聘
  • 中国建设银行网站软件不限次数观看视频的app