java使用JSONObject,对象转json串时Integer、Double默认变为0

时间:2025-03-27 10:43:50

问题:

java对象转json串时,Integer、Double、Long、Float、BigDecimal等默认都变成了0
Boolean类型默认变成了false,String变成了空串。

解决办法:

(bean,jsonConfig);

有一个jsonConfig对象,可以对json解析进行配置。

一、创建一个类实现DefaultValueProcessor

package ;
import ;
import ;
import ;

import ;

public class NullDefaultValueProcessor implements DefaultValueProcessor {

	@Override
	public Object getDefaultValue(Class aClass) {
		return null;
	}
}

二、配置

//创建JsonConfig
JsonConfig jsonConfig=new JsonConfig();
//配置默认解析器
(,new NullDefaultValueProcessor());
(,new NullDefaultValueProcessor());
(,new NullDefaultValueProcessor());
(,new NullDefaultValueProcessor());
(,new NullDefaultValueProcessor());
(,new NullDefaultValueProcessor());
(,new NullDefaultValueProcessor());
JSONObject jsonObject = (bean,jsonConfig);
(());

当然了,嫌麻烦可以直接使用匿名内部类