我目前正在嘗試從該站點檢索信息:http://freegeoip.net/json/184.71.175.150,並使用Jersey將其內容讀入我自己的自定義對象中。使用Jersey自定義JSON與傑克遜
從這個鏈接https://jersey.java.net/documentation/latest/user-guide.html#json.jackson,章8.1.4,我寫了下面的代碼:
final Client client = ClientBuilder.newBuilder().register(IPInfo.class).register(JacksonFeature.class).build();
Response response = client.target("http://freegeoip.net/json/184.71.175.150").request(MediaType.APPLICATION_JSON).get();
IPInfo ip = response.readEntity(IPInfo.class);
問題是,在response.readEntity線,將「HTTP狀態500代碼遊 - 從錯誤讀取實體輸入流「顯示在我的servlet上。
這是我的對象類:
public class IPInfo
{
private String _ip;
private String _countryCode;
private String _countryName;
private String _regionCode;
private String _regionName;
private String _city;
private String _zipCode;
private float _latitude;
private float _longitude;
private String _metroCode;
private String _areaCode;
public IPInfo(String ip,
String countryCode,
String countryName,
String regionCode,
String regionName,
String city,
String zipCode,
float latitude,
float longitude,
String metroCode,
String areaCode)
{
_ip = ip;
_countryCode = countryCode;
_countryName = countryName;
_regionCode = regionCode;
_city = city;
_zipCode = zipCode;
_latitude = latitude;
_longitude = longitude;
_metroCode = metroCode;
_areaCode = areaCode;
_regionName = regionName;
}
public String getIp()
{
return _ip;
}
public String getCountryCode()
{
return _countryCode;
}
public String getCountryName()
{
return _countryName;
}
public String getRegionCode()
{
return _regionCode;
}
public String getCity()
{
return _city;
}
public String getZipCode()
{
return _zipCode;
}
public float getLatitude()
{
return _latitude;
}
public float getLongitude()
{
return _longitude;
}
public String getMetroCode()
{
return _metroCode;
}
public String getAreaCode()
{
return _areaCode;
}
public String getRegionName()
{
return _regionName;
}
public void setIp(String ip)
{
_ip = _ip;
}
public void setCountryCode(String countryCode)
{
_countryCode = countryCode;
}
public void setCountryName(String countryName)
{
_countryName = countryName;
}
public void setRegionCode(String regionCode)
{
_regionCode = regionCode;
}
public void setRegionName(String regionName)
{
_regionName = regionName;
}
public void setCity(String city)
{
_city = city;
}
public void setZipCode(String zipCode)
{
_zipCode = zipCode;
}
public void setLatitude(float latitude)
{
_latitude = latitude;
}
public void setLongitude(float longitude)
{
_longitude = longitude;
}
public void setMetroCode(String metroCode)
{
_metroCode = metroCode;
}
public void setAreaCode(String areaCode)
{
_areaCode = areaCode;
}
}
任何幫助,將不勝感激,謝謝
你可以有機會您的字段的名稱與JSON註釋@JsonProperty(「Name」) – pwilmot