Java中Json、String、jsonObject、jsonArray格式之间的互相转换 (Fastjson、Gson、String字符串分隔)

1.org中jackson转换json,springboot中内置jackson

ObjectMapper o=new ObjectMapper();List<>list=new ArrayList();String jons=o.writeAsValueString(list);

一、Fastion

使用阿里的fastjson

<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.83</version>
</dependency>import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

1.json格式的字符串 转JSONObject

public static void myJson(String str) {JSONObject obj = JSON.parseObject(str);// 测试结果System.out.println(obj);
}

2.json格式的字符串 转JSONArray

public static void myJson(String str) {        JSONArray array = JSON.parseArray(str);// 测试结果for(Object object : array){JSONObject obj = (JSONObject)object;System.out.println(obj);}
}

3.json格式的字符串 转JSONObject、JSONArray

public static void myJson(String str) {JSONObject jsonObj = JSON.parseObject(str);JSONArray array = JSON.parseArray(jsonObj.getString("name"));// 测试结果for(Object object:array){JSONObject obj = (JSONObject)object;System.out.println(obj);}
}

4.json格式的字符串 转实体类(javaBean)

public class Persion {private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}public static void myJson(String str) {
//如果str 是OBJECT 则:
String s = JSONObject.toJSONString(Persion);//再改对象Persion persion = JSON.parseObject(str, new TypeReference<Persion>(){});// 测试结果System.out.println("name:" + persion.getName() + " , " + "age:" + persion.getAge());
}

5.map格式 转JSONObject

public static void myJson(String str) {Map<String, Object> map = new HashMap<String, Object>();map.put("name","张三");map.put("age","18");JSONObject jsonObj=new JSONObject(map);// 测试结果System.out.println(jsonObj.toString());
}

6.实体类 转json格式的字符串

public static void myJson(Student student) {String str = JSONObject.toJSONString(student);// 测试结果System.out.println(str);
}

7、实体类转实体类

public static void myJson(Student1 student1) {String str = JSONObject.toJSONString(student);Student2 student2 = JSON.parseObject(str, new TypeReference<Student2>(){});
}

一、提取JsonObject(或Map)中的key-value值

1、获取JsonObject 的key

public void myJson(JSONObject params){Map<String, Object> map = params;Set<String> keys = map.keySet();for (String key : keys) {System.out.println(key+"-----"+map.get(key));}
}

2.获取JsonObject中的School的key-value值

public void myJson(JSONObject params){Map<String, Object> map = params;// {"小学":"4","初中":"2","高中":"1"}Map<String, String> m1 = (Map<String, String>) map.get("school");Set<String> keys = m1.keySet();for (String key : keys) {System.out.println(key+" ----- "+m1.get(key));}
}

二、Gosn

# 需要转jsonStirng的对象
Gson gson= new GsonBuilder().serializeNulls().create();
String jsonObject = gson.toJson(object);

三、String字符串分隔

解决字符串逗号分隔

String namesStr = "山东省,江苏省,广东省,浙江省";
String[] names = namesStr.split(",");
for (int i = 0, len = names.length; i < len; i++) {System.out.println(names[i])
}

2.alibaba中fastjson转换成json

 @GetMapping("/test")public TbUser testHttpClient(){String url="http://localhost:8080/saveUser";TbUser user = new TbUser();user.setPhone("13568775074");user.setUsername("minming");user.setPassword("123456");//fastjson的JSONObject将Object转jsonString s = JSONObject.toJSONString(user);//返回json类型数据String result = CloseableHttpCilentsUtils.doPost(url, user, null);fastjson的JSONObject将json转ObjectJSONObject  response = JSONObject.parseObject(result);TbUser parse = JSONObject.toJavaObject(response, TbUser.class);return parse;
}

返回结果:

{"password": "123456","phone": "13568775074","username": "minming"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/53372.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 JAXB 将内嵌的JAVA对象转换为 xml文件

使用 JAXB 将内嵌的JAVA对象转换为 xml文件 1. 需求2. 实现&#xff08;1&#xff09;FileDesc类&#xff08;2&#xff09;MetaFileXml类&#xff08;3&#xff09;生成对应的xml文件 1. 需求 获取一个目录下所有文件的元数据信息&#xff08;文件名、大小、后缀等&#xff0…

1.2CubeMAX创建FREERTOS入门示例

1.CUBEMAX快速配置 V2改为V1否则编译会报错 2.Freertos各配置选项卡解释 Events &#xff1a;事件相关的创建 Task and Queues &#xff1a; 任务与队列的创建 Timers and Semaphores &#xff1a; 定时器和信号量的创建 Mutexes &#xff1a; 互斥量的创建 FreeRTOS Heap…

临床基础两手抓!这个12+神经网络模型太贪了,免疫治疗预测、通路重要性、基因重要性、通路交互作用性全部拿下!

生信碱移 IRnet介绍 用于预测病人免疫治疗反应类型的生物过程嵌入神经网络&#xff0c;提供通路、通路交互、基因重要性的多重可解释性评估。 临床实践中常常遇到许多复杂的问题&#xff0c;常见的两种是&#xff1a; 二分类或多分类&#xff1a;预测患者对治疗有无耐受(二分类…

如何在3DMAX中实现大规模项目的地形建模?

在房地产开发项目的环境建模过程中&#xff0c;我们对斜坡和不平坦地形进行建模是一项具有挑战性的任务。 我们已经制定了两种方法来纠正这一点。首先&#xff0c;让我告诉你&#xff0c;我们并没有想过如何使用NURBS来实现这一点&#xff0c;我们通常坚持使用多边形&#xff…

英语每日一段 195

Promising economic indicators won’t instantly reverse the lingering impact of hard times for millions of families, workplace culture expert Jessica Kriegel said. “Perception and reality are sometimes aligned and sometimes not,” Kriegel told Newsweek. “…

2024 数学建模高教社杯 国赛(A题)| “板凳龙”舞龙队 | 建模秘籍文章代码思路大全

铛铛&#xff01;小秘籍来咯&#xff01; 小秘籍团队独辟蹊径&#xff0c;运用等距螺线&#xff0c;多目标规划等强大工具&#xff0c;构建了这一题的详细解答哦&#xff01; 为大家量身打造创新解决方案。小秘籍团队&#xff0c;始终引领着建模问题求解的风潮。 抓紧小秘籍&am…

Java JVM 垃圾回收算法详解

Java 虚拟机&#xff08;JVM&#xff09;是运行 Java 应用程序的核心&#xff0c;它的垃圾回收&#xff08;Garbage Collection, GC&#xff09;机制是 JVM 中非常重要的一个部分。垃圾回收的主要任务是自动管理内存&#xff0c;回收那些不再被使用的对象&#xff0c;从而释放内…

【A题完整论文已出】2024数模国赛A题完整论文+可运行代码参考(无偿分享)

​​​​​​​ A 题 “板凳龙” 闹元宵 摘要&#xff1a; 随着城市节庆活动和传统文化展示的多样化发展&#xff0c;舞龙队的路径规划与速度控制问题成为传统活动表演中的重要研究课题。本文针对舞龙队在节庆活动中的路径优化、调头设计和行进速度控制问题&#xff0c;基…

2024年【金属非金属矿山(露天矿山)安全管理人员】考试题及金属非金属矿山(露天矿山)安全管理人员最新解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 金属非金属矿山&#xff08;露天矿山&#xff09;安全管理人员考试题参考答案及金属非金属矿山&#xff08;露天矿山&#xff09;安全管理人员考试试题解析是安全生产模拟考试一点通题库老师及金属非金属矿山&#xf…

SQL 数据查询

文章目录 3.4.1 单表查询定义特点单表无条件查询单表带条件查询对查询结果进行排序限制查询结果数量 3.4.2 分组查询定义特点&#xff1a;聚集函数GROUP BY短语HAVING子句分组查询小结 3.4.3 连接查询定义特点&#xff1a;等值连接与非等值连接查询自然连接&#xff08;内连接&…

SQL的高级查询练习知识点(day24)

目录 1 学习目标 2 基础查询 2.1 语法 2.2 例子 3 条件查询 3.1 含义 3.2 语法 3.3 条件表达式 3.3.1 条件运算符 3.3.2 例子 3.4 逻辑表达式 3.4.1 逻辑运算符 3.4.2 例子 3.5 模糊查询 3.5.1 概述 3.5.2 例子 4 DISTINCT关键字 4.1 含义 4.2 例子 5 总结…

2024 年高教社杯全国大学生数学建模竞赛B题第二问详细解题思路(终版)

示例代码&#xff1a; import numpy as np import pandas as pd# 参数设定 params {p1: 0.10, p2: 0.10, c1: 4, c2: 2, d1: 2, d2: 3,pf: 0.10, a: 6, df: 3, s: 56, l: 6, r: 5 }# 决策变量 decisions [0, 1]# 利润计算函数 def calculate_profit(D1, D2, C, R, params):c…

Spring-@Bean的处理流程

Bean前置知识 1 需要再Configuration Class中才能被解析 2 静态Bean也就是标注在static方法上的 实例Bean标注在普通方法上的 所有的Bean在创建之前都会变成BeanDefinition,其中有这样两个属性&#xff1a; setFactoryMethodName&#xff1a;静态方法 setFactoryBeanName&…

Hive SQL基础语法及查询实践

目录 基础语法 1. 官网地址 2. 查询语句语法 基本查询&#xff08;Select…From&#xff09; 数据准备 &#xff08;0&#xff09;原始数据 &#xff08;1&#xff09;创建部门表 &#xff08;2&#xff09;创建员工表 &#xff08;3&#xff09;导入数据 全表和特定列查…

2024年四川省安全员B证证考试题库及四川省安全员B证试题解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年四川省安全员B证证考试题库及四川省安全员B证试题解析是安全生产模拟考试一点通结合&#xff08;安监局&#xff09;特种作业人员操作证考试大纲和&#xff08;质检局&#xff09;特种设备作业人员上岗证考试大…

使用 EMQX 开源版的 Webhook 机制处理消息并存储数据

1、前言 EMQX 是一款强大的开源 MQTT 消息代理&#xff0c;它支持大量的连接和高吞吐量&#xff0c;适用于各种物联网应用。Webhook 是 EMQX 提供的扩展功能之一&#xff0c;用于将消息推送到外部的 HTTP 服务。在本文中&#xff0c;我们将介绍如何使用 EMQX 开源版的 Webhook …

蜜罐网络MHN安装过程中的坑

蜜罐网络MHN安装过程中的坑 1. 相当的资源在github上&#xff0c;下不下来 科学上网&#xff0c;直接sudo proxychains4 ./install.sh是不行的&#xff0c;修改不了sh脚本里面的访问 配置好proxychains4以后&#xff0c;直接修改系统别名&#xff1a; alias wgetproxychai…

Java+Swing+sqlserver学生成绩管理系统

JavaSwingsqlserver学生成绩管理系统 一、系统介绍二、系统展示1.登陆2.课程分配3.选课管理4.学生打分--教师4.查询个人成绩--学生 三、其他1.其它系统 一、系统介绍 管理员:登陆页面、课程管理、选课管理 老师&#xff1a;给学生打分 学生&#xff1a;查询个人成绩 二、系…

node.js、php、Java、python校园点餐与数据分析系统 校园食堂订餐系统(源码、调试、LW、开题、PPT)

&#x1f495;&#x1f495;作者&#xff1a;计算机源码社 &#x1f495;&#x1f495;个人简介&#xff1a;本人 八年开发经验&#xff0c;擅长Java、Python、PHP、.NET、Node.js、Android、微信小程序、爬虫、大数据、机器学习等&#xff0c;大家有这一块的问题可以一起交流&…

日本IT编程语言对比分析-Python /Ruby /C++ /Java

在日本IT行业中&#xff0c;Python、Ruby、C和Java是几种广泛使用的编程语言&#xff0c;它们各自具有独特的优势和适用场景。以下是对这四种编程语言的对比分析&#xff1a; 1. Python 优势&#xff1a; 简洁易读&#xff1a;Python的语法简洁清晰&#xff0c;易于学习和使用…