使用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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Navicat Premium 12激活成功教程激活

    Navicat Premium 12激活成功教程激活下载NavicatPremium12并安装;蓝奏云下载:NavicatPremium12注册机重要提示:该注册机来源于DeltaFoX。一般来说,由于注册机会修改.exe文件或.dll文件,加壳并且没有数字签名,所以杀毒软件会报毒。如需使用本注册机或者下载后找不到文件,需要关闭杀毒软件或将本注册机添加至杀毒软件白名单。自行决定是否使用本注册机。以管理员身份运行此注册机:…

    2025年7月30日
    3
  • ubuntu18.04录屏软件_linux录屏软件推荐

    ubuntu18.04录屏软件_linux录屏软件推荐1安装1sudoadd-apt-repositoryppa:peek-developers/stablesudoaptupdatesudoaptinstallpeek2.peek使用我想使用peek录制我操作某一软件,做一个教程。发现选不中要录的软件,因为peek始终在最前端,你只能选用peek,咋么办?将peek放置要录的区域,选择录制,出现倒计时在倒计时这几秒内,右键peek顶部,取消Alwayontop在桌面的菜单栏,选择软件,这时,这个软件处于最前端,然

    2022年9月15日
    1
  • python无人机编程_3d硬金是什么意思

    python无人机编程_3d硬金是什么意思往期本文是双足机器人系列的第三篇,在前面的文章中我们介绍了2D线性倒立摆的基本理论,详见:【双足机器人(1)】线性倒立摆及其运动控制(附代码)在这篇文章中我们要详细介绍3D线性倒立摆的基本…

    2022年8月18日
    5
  • @RequestBody的使用[通俗易懂]

    @RequestBody的使用[通俗易懂]提示:建议一定要看后面的@RequestBody的核心逻辑源码以及六个重要结论!本文前半部分的内容都是一些基本知识常识,可选择性跳过。声明:本文是基于SpringBoot,进行的演示说明。基础知识介绍:@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);GET方式无请求体,所以使用@RequestBo…

    2022年4月27日
    74
  • f_read 函数[通俗易懂]

    f_read 函数[通俗易懂]f_read函数声明如下:[cpp]viewplaincopyFRESULTf_read(FIL*fp,/*[IN]Fileobject*/void*buff,/*[OUT]Buffertostorereaddata*/UINTbtr,/*[IN]Numberofbytestoread*/

    2022年6月22日
    45
  • RPM卸载 (Linux 使用)[通俗易懂]

    RPM卸载 (Linux 使用)[通俗易懂]可以先用rpm-q’xxx’或者rpm-qf’xxx/bin/xxxx.xx’来查询一下所属的rpm包的名字。然后用rpm-e’xxxxxx’来删之。’xxx/bin/xxxx.xx’是一个包中任意的文件’xxxxxx’是查询得到的rpm包的名称rpm-e的时候后面的文件名不用加版本号详细说明:安全地卸载RPM卸载软件包,并不是简单地将原来安

    2022年9月2日
    6

发表回复

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

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