使用FastJSON 对Map/JSON/String 进行互转[通俗易懂]

使用FastJSON 对Map/JSON/String 进行互转[通俗易懂]Fastjson是一个Java语言编写的高性能功能完善的JSON库,由阿里巴巴公司团队开发的主要特性主要体现在以下几个方面:1.高性能fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson。并且还超越了google的二进制协议protocolbuf。2.功能强大支持各种JDK类型。包括基本类型、JavaBean、Collection、Ma

大家好,又见面了,我是你们的朋友全栈君。

前言

Fastjson是一个Java语言编写的高性能功能完善的JSON库,由阿里巴巴公司团队开发的

1、主要特性

  • 高性能
    fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson。并且还超越了google的二进制协议protocol buf。
  • 功能强大
    支持各种JDK类型。包括基本类型、JavaBean、Collection、Map、Enum、泛型等。
  • 无依赖
    不需要例外额外的jar,能够直接跑在JDK上。
  • 支持范围广
  • 开源

2、 用法

  1. String 转 Json
@Test
public void test(){
	String str = "{\"age\":\"24\",\"name\":\"cool_summer_moon\"}";	
	JSONObject  jsonObject = JSONObject.parseObject(str);
	System.out.println("json对象是:" + jsonObject);
	Object object = jsonObject.get("name");
	System.out.println("name值是:"+object);
}
运行结果:
		json对象是:{"name":"cool_summer_moon","age":"24"}
		name值是:cool_summer_moon
  1. Json 转 String
@Test
public void test(){
	String str = "{\"age\":\"24\",\"name\":\"cool_summer_moon\"}";
	JSONObject  jsonObject = JSONObject.parseObject(str);
	//json对象转字符串
	String jsonString = jsonObject.toJSONString();
	System.out.println("json字符串是:" + jsonString);
}
运行结果:
		json字符串是:{"name":"cool_summer_moon","age":"24"}
  1. String 转 Map
@Test
public void test(){
	String str = "{\"age\":\"24\",\"name\":\"cool_summer_moon\"}";
	JSONObject  jsonObject = JSONObject.parseObject(str);
	//json对象转Map
	Map<String,Object> map = (Map<String,Object>)jsonObject;
	System.out.println("map对象是:" + map);
	Object object = map.get("age");
	System.out.println("age的值是"+object);
}
运行结果:
		map对象是:{"name":"cool_summer_moon","age":"24"}
		age的值是24
  1. Map 转 String
@Test
public void test(){
	Map<String,Object> map = new HashMap<>();
	map.put("age", 24);
	map.put("name", "cool_summer_moon");
	String jsonString = JSON.toJSONString(map);
	System.out.println("json字符串是:"+jsonString);
}
运行结果:
		json字符串是:{"name":"cool_summer_moon","age":24}
  1. Map 转 Json
@Test
public void test(){
	Map<String,Object> map = new HashMap<>();
	map.put("age", 24);
	map.put("name", "cool_summer_moon");
	JSONObject json = new JSONObject(map);
	System.out.println("Json对象是:" + json);
}
运行结果:
		Json对象是:{"name":"cool_summer_moon","age":24}
  1. Json 转 Map
见示例3

结束语

附上下载链接:点击获取jar包地址

如果本篇文章对您有帮助的话,请点赞加关注。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151283.html原文链接:https://javaforall.net

(1)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • hostapd中beacon流程

    hostapd中beacon流程hostapd中beacon流程ieee802_11_build_ap_params()-ieee802_11_set_beacon()–ieee802_11_set_beacons()—handle_assoc()—hostapd_2040_coex_action()—hostapd_intolerant_add()—update_ht_state()—ap_…

    2022年5月11日
    41
  • PyCharm下载安装方法及详细步骤[通俗易懂]

    PyCharm下载安装方法及详细步骤[通俗易懂]PyCharm下载安装方法及详细步骤:PyCharm官网下载地址:https://www.jetbrains.com/pycharm/

    2022年8月26日
    8
  • snmptrap配置_snmp服务端ip和端口

    snmptrap配置_snmp服务端ip和端口一、trap的用途TRAP是提供从代理进程到管理站的异步报告机制。为了使管理站能够及时而又有效地对被管理设备进行监控,同时又不过分增加网络的通信负载,必须使用陷入(TRAP)制导的轮讯过程。代理进程负责在必要时向管理站报告异常事件,得到异常事件的报告后,管理站可以查询有关的代理,以便得到更具体的信息,对事件的原因做进一步的分析二、trap的工作流程1、agent端: A

    2022年8月20日
    25
  • Dashboard介绍

    Dashboard介绍

    2021年8月20日
    86
  • 【MyBatis学习13】MyBatis中的二级缓存[通俗易懂]

    【MyBatis学习13】MyBatis中的二级缓存[通俗易懂]1.二级缓存的原理  前面介绍了,mybatis中的二级缓存是mapper级别的缓存,值得注意的是,不同的mapper都有一个二级缓存,也就是说,不同的mapper之间的二级缓存是互不影响的。为了更加清楚的描述二级缓存,先来看一个示意图:  从图中可以看出:sqlSession1去查询用户id为1的用户信息,查询到用户信息会将查询数据存储到该UserMapper的二级缓存中。

    2025年11月24日
    3
  • dubbo负载均衡策略和集群容错机制

    dubbo负载均衡策略和集群容错机制(1)dubbo负载均衡策略(1)dubbo负载均衡策略1)randomloadbalance默认情况下,dubbo是randomloadbalance随机调用实现负载均衡,可以对provider不同实例设置不同的权重,会按照权重来负载均衡,权重越大分配流量越高,一般就用这个默认的就可以了。2)roundrobinloadbalance还有roundrobinloadbalance,这个的话默认就是均匀地将流量打到各个机器上去,但是如果各个机器的性能不一样,容易导致性能差的机器

    2022年7月11日
    21

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号