xml中存在节点,而model中不存在,就会报错:

com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$UnknownFieldException: No such field com.creditharmony.adapter.model.crif.CrifBodyAppVar.App_amt

-------------解决方案----------

重写XStream中的方法:

package com.creditharmony.adapter.core.service;

import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
import com.thoughtworks.xstream.mapper.MapperWrapper;

public class XStreamEx extends XStream {
	 public XStreamEx(DomDriver domDriver) {
		 super();
	}

	@Override
	  protected MapperWrapper wrapMapper(MapperWrapper next) {
	    return new MapperWrapper(next) {
	      @Override
	      public boolean shouldSerializeMember(@SuppressWarnings("rawtypes") Class definedIn,
	              String fieldName) {
	        if (definedIn == Object.class) {
	          return false;
	        }
	        return super.shouldSerializeMember(definedIn, fieldName);
	      }
	    };
	  }

}

 使用:

直接new对象即可.

XStreamEx xstream = new XStreamEx(new DomDriver(Constant.DEFAULT_CHARSET)); 

 

相关文章:

  • 2021-07-15
  • 2021-06-28
  • 2021-11-22
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-11-15
  • 2021-09-12
  • 2022-12-23
  • 2022-12-23
  • 2021-04-01
  • 2022-02-14
  • 2021-12-16
相关资源
相似解决方案