当前位置: 首页 > news >正文

json对象转map,map转list

业务场景:Mysql使用Key/Value方式存储动态扩展字段,json对象转map,map转list

如:某表添加extend字段,内容存储为{“姓名”:“233”,“爱好”:“足球”},
将其转化为[{“fieldName”:“姓名”,“fieldValue”:“233”},{“fieldName”:“爱好”,“fieldValue”:“足球”}]。核心代码如下:

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

// 将对象属性转化为map集合
   	Map<String, Object> map = JSON.parseObject(JSONObject.toJSONString(json对象), HashMap.class);
// map转为List<ExtendVO>
    List<ExtendVO> extendMapList =  map.entrySet().stream().map(
        e -> new ExtendVO(e.getKey(),e.getValue()))
        .collect(Collectors.toList()
    );

附ExtendVO.java

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;

/***
 * @ClassName: ExtendVO
 * @Desc: 扩展字段返回实体类
 * @author: wu_yang
 * @CreateTime: 2021/1/8 10:44
 */
@Getter
@Setter
@AllArgsConstructor
public class ExtendVO implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 字段名
     */
    private String fieldName;
    /**
     * 字段内容
     */
    private Object fieldValue;
}

相关文章:

  • 关于-webkit-的一些用法
  • CSS:字数超出两(n)行,省略号表示
  • Vant轮播多个,实现一次轮播中展示多个div,此处以三个一屏为例
  • ElementUI Tooltip 文字提示应用及更改宽度和背景色
  • vuex最详细完整的使用用法(转载)
  • vue移动端网页适配
  • 前端性能优化之Gzip打包
  • 初使用uni-app,适配多端,踩坑及经验合集
  • vscode 代码保存eslint自动格式化,最新配置:Eslint+Prettier
  • less清除浮动clearfix代码片段
  • Git使用及配置
  • Jenkins安装部署及实现CI/CD(ubuntu20.04)
  • Apache+tomcat安装 linux
  • 数字信封+数字签名流程图
  • DBLink创建方法
  • 「译」Node.js Streams 基础
  • 【跃迁之路】【519天】程序员高效学习方法论探索系列(实验阶段276-2018.07.09)...
  • 2017前端实习生面试总结
  • 77. Combinations
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • HomeBrew常规使用教程
  • JavaScript 基本功--面试宝典
  • JavaScript 奇技淫巧
  • js作用域和this的理解
  • mysql中InnoDB引擎中页的概念
  • overflow: hidden IE7无效
  • PAT A1050
  • PhantomJS 安装
  • Phpstorm怎样批量删除空行?
  • Python中eval与exec的使用及区别
  • Vue2.0 实现互斥
  • Web Storage相关
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 百度地图API标注+时间轴组件
  • 聊聊hikari连接池的leakDetectionThreshold
  • 我的业余项目总结
  • 协程
  • 延迟脚本的方式
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • 一文看透浏览器架构
  • 1.Ext JS 建立web开发工程
  • 阿里云重庆大学大数据训练营落地分享
  • #1015 : KMP算法
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • #LLM入门|Prompt#3.3_存储_Memory
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (Git) gitignore基础使用
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (SpringBoot)第二章:Spring创建和使用
  • (WSI分类)WSI分类文献小综述 2024
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】