package com.alibaba.fastjson.parser.deserializer; import java.lang.reflect.Type; import java.net.InetAddress; import java.net.UnknownHostException; import com.alibaba.fastjson.JSONException; import com.alibaba.fastjson.parser.DefaultJSONParser; import com.alibaba.fastjson.parser.JSONToken; public class InetAddressDeserializer implements ObjectDeserializer { public final static InetAddressDeserializer instance = new InetAddressDeserializer(); @SuppressWarnings("unchecked") public <T> T deserialze(DefaultJSONParser parser, Type clazz, Object fieldName) { String host = (String) parser.parse(); if (host == null) { return null; } if (host.length() == 0) { return null; } try { return (T) InetAddress.getByName(host); } catch (UnknownHostException e) { throw new JSONException("deserialize error", e); } } public int getFastMatchToken() { return JSONToken.LITERAL_STRING; } }