HTTP請求得到的數據(json或xml)進行類型轉換(String 轉 int )


//有一個參數的返回的是string類型的字符串,我想用int接收,提供給后面使用,需寫好轉換邏輯

static class StringDeserializer extends JsonDeserializer<Integer> { @Override public Integer deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { return (jp.getText() == null || "".equals(jp.getText())) ? 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;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM