我有这个枚举:
public enum DeckSuit {
SPANISH_SUIT("SpanishSuit"),
FRENCH_SUIT("FrenchSuit");
private final String text;
private DeckSuit(final String text) {
this.text = text;
}
@Override
public String toString() {
return text;
}
}
控制器中的此方法:
@RequestMapping( method = RequestMethod.POST)
public int createNewGame(@RequestBody DeckSuit deckSuit) {
return gameDao.createNewGame(deckSuit);
}
在客户端,我使用angularJS使用http服务使用上述方法,如下所示:
var deferred = $q.defer();
$http({
method : "POST",
url : RestLocationService.restlocation + resource ,
data : { deckSuit : "SPANISH_SUIT" },
headers : {
'Content-Type' : 'application/json'
}
}).then(function successCallback(response) {
console.log("Submit Success");
var responseData = response.data;
deferred.resolve(responseData);
}, function errorCallback(response) {
console.log("Submit Error");
deferred.reject();
});
return deferred.promise ;
但我在服务器中遇到此异常:
.w.s.m.s.DefaultHandlerExceptionResolver:无法读取HTTP消息:org。springframework。http。转换器。HttpMessageTreadableException:无法读取文档:无法反序列化模型实例。乌提尔斯。DeckSuit out of START_对象标记
返回gameDao。createNewGame(deckSuit)
-试着打电话给deckSuit。toString()
问题内容: 我如何使用gson 2.2.4序列化和反序列化一个简单的枚举? 问题答案: 根据 GsonAPI文档 ,Gson提供了的默认序列化/反序列化,因此基本上,应使用标准和方法(与其他类型一样)对序列化和反序列化。
问题内容: 我正在使用JAVA 1.6和Jackson 1.9.9我有一个枚举 我添加了一个@JsonValue,这似乎可以将对象序列化为: 但是当我尝试反序列化时,我得到了 我在这里想念什么? 问题答案: 如果你希望将枚举类与其JSON表示完全脱钩,则@xbakesx指出的序列化器/反序列化器解决方案是一个很好的解决方案。 另外,如果你喜欢一个独立的解决方案,则基于·和·注释的实现会更方便。 因
我使用的是JAVA 1.6和Jackson 1.9.9我有一个枚举 我添加了一个@jsonValue,这似乎完成了它将对象序列化为:
问题内容: 我正在尝试并且未能对Jackson 2.5.4的枚举进行反序列化,并且我不太清楚我的情况。我的输入字符串是驼峰式的,我想简单地映射到标准的Enum约定。 我也尝试了吸气剂,但没有成功,这是我在其他地方看到的一种选择。他们都炸毁了: 我究竟做错了什么? 问题答案: 编辑: 从Jackson 2.6开始,您可以在枚举的每个元素上使用以指定其序列化/反序列化值(请参见此处): (此答案的其余
我正在尝试使用jackson-DataBind Objectmapper反序列化一个JSON字符串,其中包含一组枚举属性。当JSON中出现未在枚举中定义的未知属性时,就会发生这种情况。请在下面找到我正在使用的对象映射器配置。 但是,反序列化(ObjectMapper.ReadValue(jsonText,.class);)抛出此错误。“test”是要反序列化的JSON字符串中的未知属性。 Com.
我需要序列化/反序列化特定枚举: 我有个例外: 我如何通过GSON序列化/反序列化它?