Java - Json字符串转List<LinkedHashMap<String,String>>

需求:在处理数据时,需要将一个Object类型对象集合转为有序的Map类型集合。

一、问题

1.原代码:

但在使用时出现报错:
Incompatible equality constraint: LinkedHashMap<String, String> and LinkedHashMap
不兼容的相等约束:LinkedHashMap<String,String>和LinkedHashMap

/*** 将表格转化为map集合** @return map集合*/public List<LinkedHashMap<String, String>> getListMap(List<Object> list) {String jsonObj = JSON.toJSONString(list);return JSON.parseArray(jsonObj, LinkedHashMap.class);}

在这里插入图片描述在这里插入图片描述

2.根据idea提示修改返回格式

修改为List,则无法加入定义为Map<Integer, List<LinkedHashMap<String, String>>>的Map对象中。

public List<LinkedHashMap> getListMap() {String jsonObj = JSON.toJSONString(list);return JSON.parseArray(jsonObj, LinkedHashMap.class);}

在这里插入图片描述

二、格式转换

1.先将集合从JsonArray强制转为List<LinkedHashMap<String,String>>格式
2.对其进行遍历,将数据加入提前初始化的List<LinkedHashMap<String,String>>集合中。

/*** 将list转化为有序的map集合** @return map集合*/public List<LinkedHashMap<String, String>> getListMap(List<Object> list) {List<LinkedHashMap<String, String>> resList = new ArrayList<>();String jsonObj = JSON.toJSONString(list);// 将json字符串转为List<LikedHashMap<String,String>>List<LinkedHashMap<String,String>> listObjectFir = (List<LinkedHashMap<String,String>>) JSONArray.parse(jsonObj);for(Map<String,String> mapList : listObjectFir){LinkedHashMap<String,String> resMap = new LinkedHashMap<>();for (Map.Entry entry : mapList.entrySet()){resMap.put(String.valueOf(entry.getKey()), String.valueOf(entry.getValue()));}resList.add(resMap);}return resList;}

Q&A

listObjectFir 定义为List<LinkedHashMap<String,String>>格式,为什么不可以直接返回?

答:若直接返回实际上还是JsonArray格式。
在这里插入图片描述

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

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

相关文章

关于SpringBoot MVC接口超时时间的分析

前言 如果在网上搜索&#xff0c;SpringBoot接口超时时间&#xff0c;很多人会说是配置&#xff1a;spring.mvc.async.request-timeout&#xff0c;这个回答对也不对。主要是这个问题问的就不清不楚&#xff0c;所以这个答案也就不清不楚了。 结论 同步接口没有超时时间一说…

副产物四氯化硅综合利用满足可持续发展需求 行业发展意义重大

副产物四氯化硅综合利用满足可持续发展需求 行业发展意义重大 副产物四氯化硅综合利用&#xff0c;是以工业&#xff08;主要是多晶硅行业&#xff09;副产物四氯化硅为原料&#xff0c;制备高价值化学品的过程&#xff0c;可保护环境不受污染&#xff0c;同时实现废物资源化再…

JavaScript APIs

控制网页元素交互等各种网页交互效果。 一、Web API基本认知 声明数组和变量优先使用const 使用let声明变量的情况&#xff1a; 1、如果基本数据类型的值或者引用类型的地址发生变化的时候&#xff0c;需要用let 2、比如 一个变量进行加减运算&#xff0c;比如 for循环中的…

flutter 嵌套 StatefulWidget 不刷新

widget1 中有一个按钮和 widget2 , 点击一次按钮 数字i1,调用 widget2(i); widget1 widget2 都是 StatefulWidget import package:flutter/material.dart; import package:stack_trace/stack_trace.dart; import dart:developer as dev;void main() {runApp(MaterialApp(tit…

单例模式如何实现?

单例模式是一种创建型设计模式&#xff0c;它确保一个类只有一个实例&#xff0c;并提供一个全局访问点来访问这个唯一实例。在 C 中&#xff0c;可以通过将构造函数设为私有&#xff0c;并提供一个静态方法来获取或创建类的实例来实现单例模式。 下面是一个简单的 C 单例模式的…

Linux日常管理和服务器配置(二)

一、在系统中配置FTP服务器&#xff1a; 准备工作&#xff1a; a.下载ftp命令 sudo apt install vsftpd 可以先用命令更新一下库 sudo apt-get update 接着输入 systemctl status vsftpd 检查ftp运行状态 然后进入vsftpd.conf文件中修改write为 vim /etc/vsftpdf.conf …

深入理解指针(1)

在之前我们学习了许多c语言的基础知识&#xff0c;让我们初步了解了c语言&#xff0c;接下来将来到c语言中一个重点的知识章节--指针&#xff0c;学习完指针后将会让我们对c语言有更深入的理解&#xff0c;接下来就开始指针的讲解 1.内存与地址 1.指针 在了解内存与地址前&am…

vue开发网站—①调用$notify弹窗、②$notify弹窗层级问题、③js判断两个数组是否相同等。

一、vue中如何使用vant的 $notify&#xff08;展示通知&#xff09; 在Vue中使用Vant组件库的$notify方法来展示通知&#xff0c;首先确保正确安装了Vant并在项目中引入了Notify组件。 1.安装vant npm install vant --save# 或者使用yarn yarn add vant2.引入&#xff1a;在ma…

词令蚂蚁新村今日答案:微信小程序怎么查看蚂蚁新村今天问题的正确答案?

微信小程序怎么查看蚂蚁新村今天问题的正确答案&#xff1f; 1、打开微信&#xff0c;点击搜索框&#xff1b; 2、打开搜索页面&#xff0c;选择小程序搜索&#xff1b; 3、在搜索框&#xff0c;输入词令搜索点击进入词令微信小程序&#xff1b; 4、打开词令微信小程序关键词口…

Python专题:九、元组

append&#xff08;&#xff09;函数添加列表元素 remove&#xff08;&#xff09;函数移除列表元素 数据存储知识 变量保存的就是数据在内存中的地址 id()函数查看变量存储地址 动态分配 内存地址是动态分配的&#xff0c;每次的数值不一致 copy&#xff08;&#xff09;函…

学习Vue3中reactive

学习Vue3中reactive 一、前言1、响应式对象2、对象属性的访问3、嵌套响应式对象4、避免直接修改响应式对象5、ref vs reactive 一、前言 在 Vue 3 中&#xff0c;reactive 是一个用于创建响应式对象的函数。响应式对象是 Vue 3 中数据驱动视图的核心&#xff0c;它们的属性的变…

redis的双写一致性

双写一致性问题 1.先删除缓存或者先修改数据库都可能出现脏数据。 2.删除两次缓存&#xff0c;可以在一定程度上降低脏数据的出现。 3.延时是因为数据库一般采用主从分离&#xff0c;读写分离。延迟一会是让主节点把数据同步到从节点。 1.读写锁保证数据的强一致性 因为一般放…

代码随想录训练营Day26:贪心算法:04

1.860柠檬水找零 贪心策略&#xff1a;先找大钱&#xff0c;再找小钱&#xff0c;20的不参与找钱 思路&#xff1a;用five,ten存放5元和10元的个数&#xff0c;初始化都是0&#xff0c;如果给的钱是5元&#xff0c;直接five,如果给的是10元&#xff0c;只能找5&#xff0c;判…

音视频入门基础:像素格式专题(2)——不通过第三方库将RGB24格式视频转换为BMP格式图片

音视频入门基础&#xff1a;像素格式专题系列文章&#xff1a; 音视频入门基础&#xff1a;像素格式专题&#xff08;1&#xff09;——RGB简介 音视频入门基础&#xff1a;像素格式专题&#xff08;2&#xff09;——不通过第三方库将RGB24格式视频转换为BMP格式图片 一、引…

AI领域最伟大的论文检索网站

&#x1f4d1; 苏剑林&#xff08;Jianlin Su&#xff09;开发的“Cool Papers”网站旨在通过沉浸式体验提升科研工作者浏览论文的效率和乐趣。这个平台的核心优势在于利用Kimi的智能回答功能&#xff0c;帮助用户快速了解论文的常见问题&#xff08;FAQ&#xff09;&#xff0…

基于Qt的Model-View显示树形数据

目标 用qt的模型-视图框架实现树型层次节点的显示&#xff0c;从QAbstractItemModel派生自己的模型类MyTreeItemModel&#xff0c;用boost::property_tree::ptree操作树型数据结构&#xff0c;为了演示&#xff0c;此处只实现了个只读的模型 MyTreeItemModel的定义 #pragma o…

数据结构(一)绪论

2024年5月11日 一稿 数据元素+数据项 逻辑结构 集合 线性结构 树形结构 </

SGP.02-v4.2-001

2.4 OTA Communication on ES5 (SM-SR-eUICC) 2.4.3 SMS 在eUICC&#xff08;嵌入式通用集成电路卡&#xff09;远程配置和管理系统中&#xff0c;OTA&#xff08;空中传输&#xff09;通信由SM-SR&#xff08;订阅管理-服务器&#xff09;专门处理。SM-SR可以使用短信&…

chromium添加一个书签项,并自动显示图标

添加一个书签很简单&#xff1a; BookmarkModel* model BookmarkModelFactory::GetForBrowserContext(browser->profile()); const bookmarks::BookmarkNode* node bookmarks::AddIfNotBookmarked(model, url, title); 两句话即可。麻烦的是怎么设置完书签以后还要显示…

php开发的知识付费系统,教育机构如何实现快速招生呢?

如今教育培训市场的竞争越来越激烈&#xff0c;很多机构管理者会抱怨自己机构所在地竞争力太强&#xff0c;生源太少。想要突破机构的招生瓶颈&#xff0c;机构管理者应该如何快速招生呢? 一、无硝烟的战争—地推 校长们&#xff0c;你们知道吗? 如今互联网技术一流的阿里巴巴…