java将map转json字符串或者再将json字符串转回map,java将对象转json字符串或者互想转换,对象集合和json字符串互转

news2024/9/17 7:36:42

1.导入hutool工具依赖

  <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.8.16</version>
        </dependency>

2.直接复制一下代码运行

import cn.hutool.json.JSONUtil;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Test {
    public static void main(String[] args) throws Exception{
        Map<String,String> map = new HashMap<>();
        map.put("host","127.0.0.1");
        map.put("port","1433");
        map.put("username","xu");
        map.put("password","123456");
        //将map转json字符串
        String jsonStr = JSONUtil.toJsonStr(map);
        System.out.println("jsonStr:"+jsonStr);
        //将json字符串转map
        Map<String,String> jsonStrTomap = JSONUtil.toBean(jsonStr, Map.class);
        System.out.println("jsonStrTomap:"+jsonStrTomap);

        Person person = new Person();
        person.setAge(18);
        person.setName("妹妹今年18岁");
        //将person对象转json字符串
        String personJSonStr = JSONUtil.toJsonStr(person);
        System.out.println("personJSonStr:"+personJSonStr);
        //将person字符串转换回person对象
        Person personFromJsonStr = JSONUtil.toBean(personJSonStr, Person.class);
        System.out.println("personFromJsonStr:"+personFromJsonStr);

        //person对象集合转json字符串
        List<Person> personList = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            Person p = new Person();
            p.setAge(18+i);
            p.setName("妹妹今年"+p.getAge()+"岁");
            personList.add(p);
        }
        //将集合对象转json字符串
        String personListJsonStr = JSONUtil.toJsonStr(personList);
        System.out.println("personListJsonStr:"+personListJsonStr);
        //再将json字符串转回到对象集合
        List<Person> personListFromJsonStr = JSONUtil.toList(personListJsonStr, Person.class);
        System.out.println("personListFromJsonStr:"+personListFromJsonStr);
    }


    static class Person {
        public String name;
        public int age;

        public Person() {}
        public Person(String name, int age) {
            this.name = name;
            this.age = 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;
        }

        @Override
        public String toString() {
            return "Person{" +
                    "name='" + name + '\'' +
                    ", age=" + age +
                    '}';
        }
    }

}

在这里插入图片描述

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

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

相关文章

【C语言报错已解决】Format String Vulnerability

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 引言 在日常开发中&#xff0c;我们经常会遇到各种各样的bug&#xff0c;其中格式化字符串漏洞报错可能是最让人头疼的一种。这…

谷歌(google)又出新功能了,快来学

谷歌开发客户这个算是每个外贸业务必备的几个基础技能之一了&#xff0c;大家对谷歌这块的用法多少都有些了解。最近谷歌更新了一个功能&#xff0c;类似于商机推荐的功能&#xff0c;我带大家来了解一下。 我们搜索公司之后&#xff0c;他会展示其他用户搜索过的一些信息。大家…

高职院校大数据人才培养成果导向系统构建、实施要点与评量方法

一、引言 在当今信息化快速发展的背景下&#xff0c;大数据已成为推动社会进步和产业升级的重要力量。为满足社会对大数据人才的需求&#xff0c;高职院校纷纷开设大数据相关专业&#xff0c;并致力于探索科学有效的人才培养模式。本文立足于我国信息化与智能化发展趋势&#…

彻底解决WPS右键没有新建文件的问题

1、综合解决 这个教程能解决大部分的问题彻底解决WPS右键没有新建文件的问题 2、作者补充 作者的教程没有那么麻烦

【java】 力扣 最后一个单词的长度

目录 题目链接题目描述代码 题目链接 58.最后一个单词的长度 题目描述 代码 public int lengthOfLastWord(String s) {int n s.length();int count 0;if(s null ||s.length() 0){return 0;}for(int i n-1;i>0;i--){if(s.charAt(i) ){if(count 0) continue;break;}count…

在pytroch中使用CIFAR10完成完整的模型训练套路

模型训练套路&#xff1a; 1.准备数据集2.加载数据集3.搭建神经网络4创建损失函数5.优化器6.设置训练网络的一些参数7.添加tensorboard&#xff08;方便观察&#xff09;8.开始训练.测试9.保存神经网络 准备数据 #准备数据集 dataset_traintorchvision.datasets.CIFAR10("…

外星人入侵_外星人

项目_外星人入侵_外星人 1创建第一个外星人1.1创建Alien类1.2创建Alien实例1.3让外星人出现在屏幕上 2创建一群外星人2.1确定一行可以容纳多少外星人2.2 创建多行外星人2.3创建外星人群2.4重构create_fleet()2.5添加行 3让外星人群移动3.1向右移动外星人3.2创建表示外星人移动方…

迷你世界魔方模型快速制作

做六个不一样颜色的顶部 --黄&#xff0c;绿&#xff0c;红&#xff0c;蓝&#xff0c;橙&#xff0c;白 --local ids{4000,3999, 3998,3997,3996,3995} 游戏脚本运行上一期文章 local x0,y0,z0-39,7,10--起点坐标 --框架、底面、侧面1-4、顶面 local id{682,671,681,680,66…

消息队列rabbitmq的使用

前提条件&#xff1a;环境安装amqp和安装rabbitmq sudo apt-get update sudo apt-get install rabbitmq-amqp-dev 1、创建CMakeLists.txt文件 # Copyright (c) Huawei Technologies Co., Ltd. 2019. All rights reserved.# CMake lowest version requirement cmake_minimum_…

tof系统标定流程之lens标定

1、lens标定详解 为什么在标定tof时需要进行lens的标定,可以说lens标定是一个必不可少的步骤,tof模组也是有镜头的,镜头的畸变会导致进入的光线出现偏差,最终照射到tof芯片表面导致深度图的分布出现畸变,通常是枕形畸变。例外一个用途在于,在计算fppn误差环节需要知道镜头…

机器学习算法与Python实战 | 两行代码即可应用 40 个机器学习模型--lazypredict 库!

本文来源公众号“机器学习算法与Python实战”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;两行代码即可应用 40 个机器学习模型 今天和大家一起学习使用 lazypredict 库&#xff0c;我们可以用一行代码在我们的数据集上实现许多…

【数据结构】队列(链表实现 + 力扣 + 详解 + 数组实现循环队列 )

Hi~&#xff01;这里是奋斗的明志&#xff0c;很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~~ &#x1f331;&#x1f331;个人主页&#xff1a;奋斗的明志 &#x1f331;&#x1f331;所属专栏&#xff1a;数据结构 &#x1f4da;本系列文章为个人学…

流行巨星布兰妮·斯皮尔斯发生了什么事?她现在在哪里过得怎么样

流行音乐公主布兰妮斯皮尔斯是 21 世纪初的经典偶像。她从 15 岁起就开始唱歌和表演&#xff0c;并创作了《Oops I Did it Again》和《Baby One More Time》等热门歌曲。她的歌曲非常出色&#xff0c;在 2000 年荣登榜首。她接下来的几张专辑变得更加畅销&#xff0c;她毫不畏惧…

学习008-02-04-04 Enable Split Layout in a List View(在列表视图中启用拆分布局 )

Enable Split Layout in a List View&#xff08;在列表视图中启用拆分布局 &#xff09; This lesson explains how to enable a Split Layout in a List View. 本课介绍如何在列表视图中启用拆分布局。 The Detail View opens when you select an object from the List Vie…

G120 EPos配置方案及应用场景

EPos功能就是基本定位器功能,它可计算出轴的运行特性,使轴以时间最佳的方式移动到目标位置。EPos功能主要包括:设定值 直接给定(MDI)功能、 选择程序段功能、回参考点功能、点动功能、运行到固定挡块功能。 EPos功能通过处理给定的加速度、速度和位置值生成运行特性曲线,…

node+mysql+layui+ejs实现左侧导航栏菜单动态显示

nodemysqllayuiejs实现左侧导航菜单动态显示 实现思路效果图数据库技术栈代码实现main.html&#xff08;前端首页页面&#xff09;查询资源菜单方法 jsapp.js配置ejs模板 node入门到入土项目实战开始&#xff0c;前端篇项目适合node小白入门&#xff0c;因为我也是小白来学习no…

机器人笛卡尔空间阻抗控制

机器人笛卡尔空间阻抗控制是一种重要的机器人控制策略,它关注于机器人末端执行器在笛卡尔空间(即任务空间)内的动态特性,以实现与环境的柔顺交互。以下是对机器人笛卡尔空间阻抗控制的详细解释: 一、基本概念 笛卡尔空间:指机器人末端执行器(如手爪、工具等)所处的三维…

Hive之扩展函数(UDF)

Hive之扩展函数(UDF) 1、概念讲解 当所提供的函数无法解决遇到的问题时&#xff0c;我们通常会进行自定义函数&#xff0c;即&#xff1a;扩展函数。Hive的扩展函数可分为三种&#xff1a;UDF,UDTF,UDAF。 UDF&#xff1a;一进一出 UDTF&#xff1a;一进多出 UDAF&#xff1a…

YOLO v8目标检测(三)模型训练与正负样本匹配

YOLO v8目标检测 损失函数理论 在YOLO v5模型中&#xff0c;cls, reg, obj代表的是三个不同的预测组成部分&#xff0c;对应的损失函数如下&#xff1a; cls: 这代表类别预测&#xff08;classification&#xff09;。对应的损失是类别预测损失&#xff08;loss_cls&#xff…

Win10出现错误代码0x80004005 一键修复指南

对于 Windows 10 用户来说&#xff0c;错误代码 0x80004005 就是这样一种迷雾&#xff0c;它可能在不经意间出现&#xff0c;阻碍我们顺畅地使用电脑。这个错误通常与组件或元素的缺失有关&#xff0c;它可能源自注册表的错误、系统文件的损坏&#xff0c;或者是软件的不兼容。…