例如下面的类:
public class User {
private int age;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void getMyAge() {
return age;
}
}
使用 JSON.toJSONString()
时,会把 myAge
解析为字段,导致使用 JSON.parseObject
时报错。
具体就是这一行没有判断field是否为null
fastjson/src/main/java/com/alibaba/fastjson/util/TypeUtils.java
Line 1670 in 0c15a74
| | FieldInfofieldInfo = newFieldInfo(propertyName, method, field, clazz, null, ordinal, serialzeFeatures, parserFeatures, |
5条答案
按热度按时间6mw9ycah1#
报错信息提供一下?
chy5wohz2#
@wenshao
这是toJSONString之前的对象数据
这是转之后的String
这里的
tableFields
字段实际上是一个getTableFields
方法,并没有字段r8xiu3jd3#
我之前也有这样的问题。
只要是get set开头的方法都会执行,不管有没有对应属性。
上次就因为起了一个getXxx 在里面进行了很多操作,导致序列化之后的对象属性已经不一样了。
thtygnil4#
我也碰到了相同的问题
atmip9wb5#
同样遇到有get开头, 但是无field的异常逻辑情况, 望修复