伍佰目录 短网址
  当前位置:海洋目录网 » 站长资讯 » 教育考试 » 文章详细 订阅RssFeed

刚升级没多久,fastjson又漏洞了,改换jackson了

来源:本站原创 浏览:85次 时间:2022-12-07

记得年前升级过一次fastjson,版本1.2.60,安全要求用到fastjson的全部升级,结果一扫一大片,用的人还真不少。许多使用springboot整体打包的同事,都是升级fastjson后重新打包,上传,重新发布应用。

小编所在部门相关springboot项目都进行了jar包分离(参见:如何分离构建业务jar,配置文件,第三方依赖jar),升级只是替换了一个fastjson的jar包,然后重启应用。可是这没过多久,安全再次要求升级fastjson了,这次改换使用jackson了,使用起来同样简单明了,性能差异也并不明显。

下面记录几个小编在项目中常用的场景:
1.对象转json字符串

ObjectMapper mapper = new ObjectMapper();
String jsonPerson = mapper.writeValueAsString(new Person("码农小麦",25));
System.out.println(jsonPerson);
#结果:{"name":"码农小麦","age":25,"birthday":"2000-06-01 00:00:00"}

2.json字符串转对象

Person person = mapper.readValue(jsonPerson,Person.class);
System.out.println(person);
#结果:Person{name='码农小麦',age=25,birthday=Thur June 01 00:00:00 CST 2000}

3.直接构建json字符串

JsonNodeFactory jsonNodeFactory = JsonNodeFactory.instance;
ObjectNode objectNode = jsonNodeFactory.objectNode();
objectNode.put("name","码农小麦");
objectNode.put("age",25);
System.out.println(objectNode.toString());

4.直接解析json字符串

JsonNode jsonNode = mapper.readTree(objectNode.toString());
System.out.println(String.format("name: %s, age: %d",
        jsonNode.get("name").asText(),jsonNode.get("age").asInt(0)));

5.使用json数组

ObjectNode resultNode = jsonNodeFactory.objectNode();
resultNode.put("code",200);
ArrayNode arrayNode = resultNode.putArray("data");
ObjectNode dataNode = jsonNodeFactory.objectNode();
dataNode.put("name","码农小麦1");
dataNode.put("age",25);
arrayNode.insert(1,dataNode);
ObjectNode dataNode1 = jsonNodeFactory.objectNode();
dataNode1.put("name","码农小麦2");
dataNode1.put("age",25);
arrayNode.insert(2,dataNode1);
System.out.println(resultNode.toString());
#结果:{"code":200,"data":[{"name":"码农小麦1","age":25},
             {"name":"码农小麦2","age":25}]}

6.日期转换

默认转换为json字符串会将对象日期转换为Long型的毫秒数,可以使用注解进行格式化。

@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")

7.注解

jackson提供许多注解方便用户定制json转换,如@JsonIgnore转换时忽略此注解标注的属性,@JsonProperty转换时指定属性名称等。


  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net