Java后台用Map封装返回结果遇到的问题
时间:2019-10-25
本文章向大家介绍Java后台用Map封装返回结果遇到的问题,主要包括Java后台用Map封装返回结果遇到的问题使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
今天在后台写接口返回数据有点复杂,于是就用Map封装数据,结果遇到问题:
import lombok.Getter; import lombok.Setter; /** * 类注解 * * @author xinhai.ma * @date 2019年10月25日 14:31 */ public class Person { @Setter @Getter private String name; @Setter @Getter private Integer age; } /** * 类注解 * * @author xinhai.ma * @date 2019年10月25日 14:30 */ @RestController public class DemoController { @GetMapping(value = "/demo.html") public Map<Person, List<Person>> demo() { Map<Person, List<Person>> result = new HashMap<>(); Person key = new Person(); key.setName("key"); key.setAge(12); List<Person> value = new ArrayList<>(); value.add(key); value.add(key); value.add(key); result.put(key, value); return result; } }
前台返回数据是这样的:
{"com.example.demo.Person@23a922d4":[{"name":"key","age":12},{"name":"key","age":12},{"name":"key","age":12}]}
什么?返回的竟是全类名!!!百思不得姐
于是重写了toString()方法,就解析得了了:
@Override public String toString() { return "Person{" + "name='" + name + '\'' + ", age=" + age + '}'; }
{"Person{name='key', age=12}":[{"name":"key","age":12},{"name":"key","age":12},{"name":"key","age":12}]}
原文地址:https://www.cnblogs.com/mxh-java/p/11738717.html
- .NET Core采用的全新配置系统[6]: 深入了解三种针对文件(JSON、XML与INI)的配置源
- 基于 vue2 构建和后台真实交互的 管理系统
- ASP.NET MVC的Model元数据与Model模板:模板的获取与执行策略
- python3.6抓取100知乎用户头像详解(四)
- 从运营商小广告到HTTPS
- .NET Core采用的全新配置系统[5]: 聊聊默认支持的各种配置源[内存变量,环境变量和命令行参数]
- 区块链:为什么它不仅仅是比特币?
- Java Mail(二):JavaMail介绍及发送一封简单邮件
- ASP.NET MVC Controller激活系统详解:总体设计
- .NET Core采用的全新配置系统[7]: 将配置保存在数据库中
- Selenium3+Python3环境部署
- Java Mail(三):Session、Message详解
- .NET Core采用的全新配置系统[8]: 如何实现配置与源文件的同步
- 四个问答让你秒懂区块链原理及应用
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 树莓派升级python的具体步骤
- keras中的loss、optimizer、metrics用法
- Django中F函数的使用示例代码详解
- 详解pandas获取Dataframe元素值的几种方法
- pandas数据处理之绘图的实现
- Pandas把dataframe或series转换成list的方法
- Django 构建模板form表单的两种方法
- 详解pandas.DataFrame.plot() 画图函数
- python中pandas库中DataFrame对行和列的操作使用方法示例
- PHP实现简易计算器功能
- DataFrame 数据合并实现(merge,join,concat)
- PHP ajax+jQuery 实现批量删除功能实例代码小结
- python对execl 处理操作代码
- Python手动或自动协程操作方法解析
- 什么是python的自省