json转map方法实现_fastjason常用方法

背景

fastjson爆出重大漏洞,攻击者可使整个业务瘫痪

漏洞描述

常用JSON组件FastJson存在远程代码执行漏洞,攻击者可通过精心构建的json报文对目标服务器执行任意命令,从而获得服务器权限。此次爆发的漏洞为以往漏洞中autoType的绕过。

影响范围

FastJson < 1.2.48

最近关于fastjson的消息,引起了很多人的关注!很多开发者才猛然发现,fastjson已经深入到我们开发工作的方方面面。那么除了赶快升级你的json外,我们来挖挖fastjson最常用的用法。

fastjson常用方式

1.maven依赖(记得升级到1.2.48以上版本哦)

com.alibaba fastjson 1.2.62

2.FastJson对于json格式字符串的解析主要用到了一下三个类:

(1)JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换。

(2)JSONObject:fastJson提供的json对象。

(3)JSONArray:fastJson提供json数组对象。

3.常用方式

3.1 string和java对象

17a5b6ebac4dad6c33818e9c6543b22c.png

实例1:对象转json字符串

Map map=new HashMap();map.put("code","0");map.put("message","ok");String json=JSON.toJSONString(map);System.out.println(json);

输出结果为:

{"code":"0","message":"ok"}

实例2:字符串转对象

Map map=new HashMap();map.put("code","0");map.put("message","ok");String json=JSON.toJSONString(map);System.out.println(json);Map obj=(Map)JSON.parse(json);System.out.println("code="+obj.get("code")+",message="+obj.get("message"));

输出结果

{"code":"0","message":"ok"}code=0,message=ok

3.2 工具类JSONObject

public static void main(String[] args) {Map map=new HashMap();map.put("code","0");map.put("message","ok");String json=JSON.toJSONString(map);System.out.println(json);Map obj=(Map)JSON.parse(json);System.out.println("code="+obj.get("code")+",message="+obj.get("message"));String code=JSON.parseObject(json).getString("code");String message=JSON.parseObject(json).getString("message");System.out.println("code="+code+",message="+message);}

输出结果

{"code":"0","message":"ok"}code=0,message=okcode=0,message=ok

3.3 数组对象

List list=new ArrayList(JSONArray.parseArray(jsonString,user.class));
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值