HTTP请求得到的数据(json或xml)进行类型转换(String 转 int )
Posted 莲藕排骨汤
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP请求得到的数据(json或xml)进行类型转换(String 转 int )相关的知识,希望对你有一定的参考价值。
//有一个参数的返回的是string类型的字符串,我想用int接收,提供给后面使用,需写好转换逻辑
static class StringDeserializer extends JsonDeserializer<Integer> { @Override public Integer deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { JsonNode node = jp.getCodec().readTree(jp); String errorCode = node.asText(); return (errorCode == null || "".equals(errorCode)) ? 0 : 1; } }
在该字段上加注解
@JsonDeserialize(using = StringDeserializer.class)
private int errorCode;
如果是xml类型的数据(String转money)
static class MoneyAdapter extends XmlAdapter<String, Money> { /** * {@inheritDoc} * * @see javax.xml.bind.annotation.adapters.XmlAdapter#unmarshal(java.lang.Object) */ @Override public Money unmarshal(String v) throws Exception { return new Money(v); } /** * {@inheritDoc} * * @see javax.xml.bind.annotation.adapters.XmlAdapter#marshal(java.lang.Object) */ @Override public String marshal(Money v) throws Exception { return v.toString(); } }
在相应字段加注解,就行了
@XmlJavaTypeAdapter(MoneyAdapter.class)
@XmlElement(name = "remain_value")
private Money remainValue;
以上是关于HTTP请求得到的数据(json或xml)进行类型转换(String 转 int )的主要内容,如果未能解决你的问题,请参考以下文章
Spring MVC REST - 根据请求内容类型返回 xml 或 json