fastjosn:String字符串json对象和java对象的相互转化

fastJson解析字符串,并转为java对象 要解析的JSON字符串 { "errcode": 0, "errmsg": "ok", "result": { "auto_add_user": true, "dept_id": 35, "dept_permits": [], "extention": "{\"faceCount\":\"657\"}", "hide_dept": false, "name": "layman", "user_permits": [] }, "request_id": "iyptirsm 阅读详情

在处理前后端数据时经常需要将json转成java对象,或者将java对象转成json,下面简单介绍下如何使用fastjson进行两者间的转化。

json字符串转java对象

fastjson中定义了一个JSONObject对象,它有很多方法能实现json字符串和java对象的转化,如下:

String str = "{\"name\":\"tom\",\"age\":\"12\"}";
//json字符串转化成json对象
JSONObject jsonObject = JSONObject.parseObject(str);
System.out.println(jsonObject.get("name"));
System.out.println(jsonObject.getInteger("age"));
//json字符串转化成java对象
HashMap map = JSONObject.parseObject(str, HashMap.class);
System.out.println(map.get("name"));

有时候可能是一个json数组字符串,这时可以将其转化成list集合的形式,如下:

//json数组转成java集合
String strArr = "[{\"name\":\"tom\",\"age\":\"12\"},{\"name\":\"jerry\",\"age\":\"10\"}]";
List<Map> list = JSONArray.parseArray(strArr, Map.class);
System.out.println(list.toString());

java对象转json字符串

这个就更简单了,一个方法搞定,如下:
map转json字符串:

        //java对象转json对象
        Map<String,String> mapObj = new HashMap<>();
        mapObj.put("name","tom");
        mapObj.put("age","12");
        System.out.println(JSONObject.toJSONString(mapObj));

List转json字符串:

		//List<Map>转json字符串
        List<Map<String,String>> mapList = new ArrayList<>();
        Map<String,String> mapObj = new HashMap<>();
        mapObj.put("name","tom");
        mapObj.put("age","12");
        Map<String,String> mapObj1 = new HashMap<>();
        mapObj1.put("name","jerry");
        mapObj1.put("age","10");
        mapList.add(mapObj);
        mapList.add(mapObj1);
        System.out.println(JSONArray.toJSONString(mapList));

自定义的java类转json字符串:

//自定义java类转json字符串
public class Student {
    private String name;
    private String sex;
    private int age;
    
    public Student(String name,String sex,int age) {
        this.name = name;
        this.sex = sex;
        this.age =age;
    }
}
Student student = new Student("tom","boy",12);
System.out.println(JSONObject.toJSONString(student));

在将自定义类转换为json字符串时,还可以使用注解定义json串的格式,例如:

public class Student {
	 @JSONField(name="NAME", serialize=false, ordinal = 1)
    private String name;
    @JSONField(name="SEX", serialize=false, ordinal = 2)
    private String sex;
    @JSONField(name="AGE", serialize=false, ordinal = 3)
    private int age;
    @JSONField(name="BIRTHDAY", format="dd/MM/yyyy", ordinal = 4)
    private Date birthday;
}

其中:

  • name用来指定key的名称
  • ordinal用来指定属性在json字符串中的顺序
  • serialize用来标记属性是否要序列化
  • format用来格式化数据
    日期在数据传输中一直是个让人头疼的问题,而format很好的解决了它。
    需要注意:在使用@JSONField注解时一定要为私有属性添加get和set方法
使用FastJson将Json字符串解析为对象 Fastjson的用法一、介绍漏洞描述:影响版本安全版本二、依赖三、语法对象转jsonjson转对象 一、介绍 近日,阿里云应急响应中心监测到fastjson爆发新的反序列化远程代码执行漏洞,黑客利用漏洞,可绕过autoType限制,直接远程执行任意命令攻击服务器,风险极大。 漏洞描述: fastjson采用黑白名单的方法来防御反序列化漏洞,导致当黑客不断发掘新的反序列化Gadgets类时,在autoType关闭的情况下仍然可能可以绕过黑白名单防御机制,造成远程命令执行漏洞。经研究,该漏洞利用门槛较低,可绕 阅读详情

相关推荐

java中使用fastjson将String转为Json

Java

JustinMars的博客 1830

FastJson——JSO字符串与对象的相互转化

​ Fastjson是阿里巴巴的开源SON解析库它可以解析JSON格式的字符串,,从2011年fastjson发布1.1.版本之后其性能从未被其他ava实现的]SON库超越fastjson在阿里巴巴大规模使用,在数万台服务器上部署,fastjson在业界被广泛接受。在2012年被开源中国评选为最受欢迎的国产开源软件之一fastjson有非常多的testcase,在1.2.11版本中,testcase超过3321个。每次发布都会进行回归测试,保证质量稳定fastison的API十分简洁。

weixin_51351637的博客 8663

从零搭建 AI 运维 Agent:告警自动诊断 + 修复的完整技术方案

适合读者:管理 5-50 台服务器的运维/SRE 工程师、技术负责人 技术栈:FastAPI + React + PostgreSQL + Redis + DeepSeek 关键词:AI运维、AIOps、自动化运维、智能告警、告警修复、Runbook自动化、DevOps、SRE、DeepSeek运维

weixin_38359457的博客 1640

使用fastjson字符串对象互转

一、准备 1、导入fastjson包 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.76</version> </dependency> 2、创建测试对象 animal对象: import lombok.Data; import lombok.ToStr

nihao_ma_的博客 5020

SAP FICO实操:如何修改已发生业务数据的成本中心公司代码(附RKACOR06程序运行指南)

本文详细解析了SAP FICO系统中使用RKACOR06程序修改已发生业务数据的成本中心和公司代码的实操方法。通过实战案例分享,提供从前期准备到后期验证的全流程指南,帮助企业应对组织架构重组或财务核算体系调整时的数据迁移挑战,特别适用于跨公司代码的成本中心划转场景。

weixin_27303545的博客 189

Unity 调用安卓内部安装apk

一、申请权限 应用内安装其他应用的权限属于特殊权限,需要在特殊申请。 Uri packageURI = Uri.parse("package:" + mContext.getPackageName()); Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES, packageURI); startA...

BDDNH的博客 1240

Java项目Json字符串转对象,去斜杠

Json转对象 去除转义符

weixin_45659847的博客 3505

clock-gating整理

文章目录clock gating 理解1、latch双稳态器件常见锁存器结构SR锁存器D锁存器2、clock gating(clock low-active) latch + AND gating 电路(clock high-active)latch + OR gating 电路 clock gating 理解 1、latch 参考:https://www.cnblogs.com/IClearner/p/6443539.html 双稳态器件 稳定状态为0或1两种 举例:交叉耦合反相器 假设初始Q为1,则可

d_b_的博客 1万+

利用fastjson进行json字符串与对象互转

package demo;public class Person { private String name; private int age; public Person(){ } public Person(String name,int age){ this.setAge(age); this.setName(name);

无远弗届 2万+

C#安装OpenCv及打开笔记本默认摄像头方法

C#安装OpenCv及打开笔记本默认摄像头方法

cg1135217680的博客 2572

工业级24V电源保护电路深度解析:五重防护机制详解

自恢复保险丝(PPTC,Positive Temperature Coefficient)是一种过流保护元件✅可恢复:过流后自动恢复,无需更换⚡响应快:电流超标立即动作🔄多次使用:在额定范围内可反复使用第1层(F1):阻挡过流 → 物理熔断第2层(D3):吸收浪涌 → 能量泄放第3层(Q1):防止反接 → 逻辑阻断第4层(Q2/Q3):抵御过压 → 主动切断第5层(CR):平滑启动 → 时序控制设计哲学:"让每一级保护专注做好一件事"通过这篇文章,我们深入理解了:✅自恢复保险丝。

qq_58068673的博客 3570

fastJosn使用

解析对象CancelReqData reqdata= HtInsured.installCancelReqData(applyInfo,date,channelCode); String insureJson=JSON.toJSONString(reqdata);JSONObject json=JSONObject.parseObject(orderId); 解析json  key-value@P...

JesseCary的博客 489

第七天 Labview进阶(7.3 Teststand简单使用)

TestStand是NI开发的自动化测试管理软件,支持多语言编程和硬件集成,广泛应用于电子产品和工业测试。安装时需注意版本选择,2022版支持离线安装。使用步骤包括:1)创建测试序列文件;2)插入测试动作并配置参数(如选择VI路径、设置变量);3)添加条件判断和延时控制;4)执行测试序列时具备流程控制功能,如失败步骤自动跳过后续测试。该软件能有效提升测试效率与准确性,通过可视化操作实现复杂测试流程管理。

weixin_38637405的博客 1728

scala中使用fastjson来解析字符串

import com.alibaba.fastjson.JSON object JsonDemo {   def main(args: Array[String]) {     val text = "{\"name\":\"name1\", \"age\":55,\"fv"\:"22"}"     val json = JSON.parseObject(text)    

自由幻想的博客 4461

【DRAM存储器六十九】DDR5介绍--2N mode 和 CS Geardown mode

摘要: DDR5内存速率提升至8400MT/s以上时,信号完整性成为关键挑战。JEDEC在JESD79-5B标准中引入2N Mode和CS Geardown Mode两项技术,通过“时间换稳定性”优化时序裕量。2N Mode默认启用,将命令周期延长至两倍时钟周期,增强全局命令稳定性;CS Geardown Mode则针对片选信号(CS_n)降低采样频率,提升局部信号容错能力。两者均需通过特定寄存器配置,适用于高频场景下的性能与稳定性平衡。这些技术为DDR5在高频运行中提供了可靠的时序保障。

highman110的博客 219

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

fastJSON 字符串转对象

fastJSON 字符串转对象:普通对象、泛型对象

嘉树麻麻 1860

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Json字符串转换为Java对象和应用(使用fastjson工具类)

记录:468 场景:把Json字符串转换为Java对象。Java对象属性包括String、List、Map等类型。

zhangbeizhen18的博客 1万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

使用fastjson实现json字符串与各类对象的转换

对象转json字符串 //参数为一个Object对象 String str = JSON.toJSONString(obj) json字符串转List<T> List<MedicalInvoiceDetail> detailList = JSONArray.parseArray(p.getCheckDetail(),MedicalInvoiceDetail.class); json字符串转<List<Map<String, Object>>&gt

manba_out的博客 1万+

fastJson与String、对象、集合之间相互转换

Json转化、fastJson

weixin_49585951的博客 4648

FastJson中JSONString与各个对象的的转换关系及API示例

基本常用的方法都进行了代码测试,使用过程中可能会出现混淆的情况,但是只要记住了文中的转换图,相信应该会加深印象。

架构大数据双料架构师的博客 2749

用fastjson把网络传输的字符串转换为java对象

注意注意,上述左边的一定得是个json对象(包括数组,只要符合json对象格式就行)才能转换成右边的json对象,如果左边的多了任何符号什么的只要不符合json格式都转换不成功,如果左边的带了转义字符也转换不成功,所以一般操作是直接把接口传输过来的网络数据打印在控制台(控制台会自动消除转义字符,消除后的字符串其实就是符合json格式了),然后拷贝到json.cn网站的左边,就能清晰看到右边的json对象了,然后再设计java对象。这里简单解释下json格式的字符串,json对象,java对象的区别?

shengjiaxin的博客 2291

fastjson的常用转换

JavaBean、JsonString、 JsonObject的转换

m0_52684367的博客 812

使用fastJson将json与对象、集合、数组相互转换

fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。 Maven <!-- json --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version.

忘忧的博客 1万+

json与string转换:com.alibaba.fastjson.JSONObject

json与string转换:com.alibaba.fastjson.JSONObject

adobe754的博客 2367

String字符串,FastJson常用操作方法

FastJson是一种高效的Java JSON处理库,广泛应用于Java开发中。它提供了丰富的功能,使得JSON数据的解析和生成变得简单快捷。与之配合的是String类提供的丰富操作方法,比如substring、indexOf等,可以对字符串进行灵活处理。在实际开发中,我们常常利用FastJson解析外部JSON数据,并结合String的方法提取所需信息,如从JSON中提取特定字段或进行数据格式化等。通过这些操作,开发者可以高效地处理JSON数据,满足各种业务需求,提升程序的性能和可维护性。

q1372302825的博客 1567

fastjson源码分析2-toJSONString方法分析

2021SC@SDUSC toJSONString方法分析方法说明方法分析 方法说明 方法的使用: User user = new User("kk","123"); String s = toJSONString(user); System.out.println(s); 得到的输出为: 可以看到,通过toJSONString这个方法可以得到一个将java对象转为json表示方式的字符串,下面我们来根据源码分析一下这个代码。 方法分析 该方法是定义在JSON这个类中

qq_45946035的博客 5302
上一篇: JS中URL二次编码和解码
下一篇: 微信小程序报错request:fail url not in domain list
想养一只雪狐
博客等级 码龄9年 169粉丝 58原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值