List<Object> sendo convertida em HashMap, por quê?

Tenho uma lista de objetos construída com jQuery que é enviada via Ajax para o backend, por algum motivo ela chega lá como um HashMap e estou tendo dificuldades para manipular essa lista.

CLASSE DO OBJETO

public class SlaSituacaoDTO implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -2947689414850104008L;
	
//	DADOS PARA EXIBIÇÃO NO GRID DE SLA's ATIVOS
	
	private String codFicha;
	private String nomeAditivo;
	private String nomePrestador;
	private Date inicioVigenciaSla;
	private Date inicioVigenciaFicha;
	
//	DADOS HIDDEN PARA USO NO MODAL DE UPDATE EMISSOR
	
	private Double codSla;
	private Double codSequencialSla;
	private Double codSituacaoSla;
	private String codMatricula;
	private String codMatriculaNovoEmissor;
	private String justificativaTrocaEmissor;

// GETTERS E SETTERS OMITIDOS

CONSTRUÇÃO DA LISTA DE OBJETOS EM JQUERY

var dados = {};
dados.slas = [];

$(registros).each(function(index) {
	dados.slas[index] = {};
	/* DADOS VISIVEIS NO GRID DE SLA's ATIVOS */
	dados.slas[index].codFicha = $(registros[index]).find("td:nth-child(2)").text();
	dados.slas[index].nomeAditivo = $(registros[index]).find("td:nth-child(3)").text();
	dados.slas[index].nomePrestador = $(registros[index]).find("td:nth-child(4)").text();
	dados.slas[index].inicioVigenciaSla = $(registros[index]).find("td:nth-child(5)").text();
	dados.slas[index].inicioVigenciaFicha = $(registros[index]).find("td:nth-child(6)").text();
					
	/* DADOS NAO VISIVEIS NO GRID DE SLA's ATIVOS PARA UPDATE EMISSOR */
	dados.slas[index].codSla = $(registros[index]).find("td:nth-child(7)").text();
	dados.slas[index].codSequencialSla = $(registros[index]).find("td:nth-child(8)").text();
	dados.slas[index].codSituacaoSla = $(registros[index]).find("td:nth-child(9)").text();
	dados.slas[index].codMatricula = emissor.val();
});

REQUISIÇÃO AJAX

$.ajax({
	type: 'POST',
	url: "submitTrocaEmissorModal.do",
	data: JSON.stringify(dados),
	dataType: 'json',
	contentType: 'application/json',
	success: function(response){
		$('#modalTrocaEmissor').modal("hide");
		console.log(slas);
	},
	error: function (jqXHR, textStatus, errorThrown){
		console.log(jqXHR, textStatus, errorThrown);
	}
});

STRUTS.XML

<action name="submitTrocaEmissorModal" class="trocaEmissorAction" method="trocaEmissor">
	<interceptor-ref name="json">
		<param name="jsonContentType">text/json</param>
		<param name="jsonRpcContentType">text/json-rpc</param>
	</interceptor-ref>
	<result type="json">
		<param name="noCache">true</param>
		<param name="excludeNullProperties">true</param>
	</result>
</action>

ACTION QUE RECEBE A LISTA

public class TrocaEmissorAction extends BaseAction {

	/**
	 * 
	 */
	private static final long serialVersionUID = 3363371022592406661L;
	@SuppressWarnings("unused")
	private static final Logger LOGGER = LoggerFactory.getLogger(TrocaEmissorAction.class);
	
	private List<EmissorDTO> emissores;
	private List<SlaSituacaoDTO> slas;
	private String codMatricula;

	// GETTERS E SETTERS OMITIDOS

WATCH DA VARIÁVEL DADOS ENVIADA PELO AJAX

HEADER DO REQUEST

LIST QUANDO CHEGA NO BACKEND