<正则吃饺子> :关于gson使用的一点总结
一、场景
在群里看到的信息:在使用 gson时候,报了个错 :java.lang.IllegalArgumentException: declares multiple JSON fields named saleNo
大体意思就是:参数异常,定义了多个名字为saleNo 的 json field ,英语比较low,凑合着理解下吧。
两张图还原下,之前的场景,如下
和
二、解决情况
网上巴拉巴拉一堆,看到的说法是这么几种:
1、saleNo 是个 null了 ,经打印,确实有个 null;
2、这个类A 与其 父类 B,存在相同的字段,建议删除一个或者加个注解,不让其中一个序列化。经检查,A没有父类B;
3、也是最终的解决方式,这个类A 中引入了一个类C,与A存在相同的属性 saleNo,改掉之后,问题解决;
ps:这算不算gson的一个bug呢?按理说,如下,这也是个json啊..
{
id: "1111",
cat: {
id: "2222"
}
}
三、引申下(瞎看的)
java的序列化和反序列化
<正则吃饺子> :关于gson使用的一点总结的更多相关文章
- <正则吃饺子>:关于java中垃圾回收技术的简单学习总结
知识介绍来自网络,后面会根据继续学习进行补充和适当的修改,谢谢!原文地址:http://www.importnew.com/26821.html#comment-578355 java中的垃圾回收机制 ...
- <正则吃饺子> :关于Java的native方法(转)
感谢作者的分享,原文地址:http://blog.csdn.net/wike163/article/details/6635321 一. 什么是Native Method 简单地讲,一个Nativ ...
- <正则吃饺子> :关于mybatis中使用的问题(一)
在公司项目开始之前,根据springboot .mybatis.Swagger2 整合了一个demo,在测试时候,遇到的问题,简单记录.之前在使用mybatis时候,没有注意到这一点. 1.错误:Th ...
- <正则吃饺子> :关于使用pd创建表时需要注意的地方
公司项目使用pd设计数据库表.之前用过,但是年代比较久远了,有些细节忘记了,今天重新使用时候,生疏了,现在稍微记录下吧. 1.pd创建表的使用,可以直接从网上搜索,博文比较多,如 “pd 设计数据库表 ...
- <正则吃饺子> :关于 Matcher 的 replaceAll 的简单使用
在线文档地址:http://tool.oschina.net/apidocs/apidoc?api=jdk-zh replaceAll public String replaceAll(String ...
- <正则吃饺子> :关于redis集群的搭建、集群测试、搭建中遇到的问题总结
项目中使用了redis ,对于其基本的使用,相对简单些,根据项目中已经提供的工具就可以实现基本的功能,但是只是这样的话,对于redis还是太肤浅,甚至刚开始时候,集群.多节点.主从是什么,他们之间是什 ...
- <正则吃饺子>:关于java中对内存部分的简单总结整理
在项目和一些群讨论中,经常看到对内存的处理,但是,自己确是一知半解的,基于此,就把这部分的知识简单的整理了下,知识点来源于网络博文,也一一标明出处,谢谢. package com.love.malin ...
- <正则吃饺子> :关于微信支付的简单总结说明(二)
关于微信退款 一.官方文档 申请退款:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_4&index=6 二.退款流程 ...
- <正则吃饺子> :关于微信支付的简单总结说明(一)
关于支付,一直想参与开发,现在根据项目中已有及参见的微信开发文档,将自己对于微信开发的流程进行简单的总结,以备后用和帮助后来者. 一.相关官方文档 微信支付官方文档:https://pay.weixi ...
随机推荐
- angular中按需加载js
按需加载估计是大家在使用angular之后最想解决的问题吧,因为angular的依赖机制,导致了必须在第一次加载的时候就加载所有js文件,小项目还好,稍大一点的项目如果有上百个js文件,不管是从效率还 ...
- zend 和 esftp插件开发大型PHP项目,ZEND最常用快捷键
先说一下如何安装zend的esftp插件,下载插件esftp-1.1.1.zip,下载地址http://sourceforge.net/projects/esftp/ 或者 http://yun.ba ...
- MySQL——存储过程
核心知识点: 1.什么存储过程?它都有哪些优点? 2.存储过程的语法和参数? 3.存储过程有哪些操作? 4.存储过程常用的控制语句? 一.存储过程概论 SQL语句需要先编译然后执行,而存储过程是一组为 ...
- C# 自定义异常类 throw语句抛出异常
Exception概述: 异常(Exception)一般分为两大类SystemException.ApplicationException,前者是预定义的异常类,后者是用户自定义异常类时需要继承的类 ...
- Linuxshell资料汇总
1.判断文件是否存在 https://www.cnblogs.com/platero/p/4021561.html 2.日期赋值 https://www.cnblogs.com/lonelywolfm ...
- stm32非操作系统开发和带uCos的开发的区别,及一些解析
从文件角度来看core_cm4.h和stm32f4xx.h分别从内核寄存器和外设寄存器来定义其地址和结构体,是用c语言访问硬件必须的文件,所以这两个文件不论是否带操作系统,都是必须包含进工程的. re ...
- explain分析sql效果
1.id: 代表select 语句的编号, 如果是连接查询,表之间是平等关系, select 编号都是1,从1开始. 如果某select中有子查询,则编号递增.如下一条语句2个结果 mysql> ...
- 四分位数及matlab实现
四分位数(quantile),解释及调用形式如下. quantile(x,y,z)的三个参数的说明如下:x表示要求的矩阵或者向量:y的取值为表示要求的分位数,如四分之一中位数0.25,四分之三中位数0 ...
- BZOJ 2527 [Poi2011]Meteors:整体二分
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2527 题意: 有n个国家和m个空间站,每个空间站都属于一个国家,一个国家可以有多个空间站, ...
- python函数的参数匹配
版本:一般用python2.7.6 python3.4.3会标注 1.不可变对象(整数.字符串)通过对象引用进行传递,在函数内部不可改变. >>> def f(a): ... a=1 ...