java 类的实例化没有属性值,java – JsonMappingException:无法实例化类型的值没有single-long-arg构造函数/工厂方法...

嗨我正在尝试在zk框架上解析json响应到

java中

这是杰森的答复

{"currentTime":1355390722038,"text":"OK","data":{"limitExceeded":false,"references":{"stops":[],"situations":[],"trips":[],"routes":[],"agencies":[{"id":"AG1","privateService":false,"phone":"","timezone":"Asia/Kuala_Lumpur","disclaimer":"","name":"Panorama","lang":"en","url":"http://www.allcompanyonline.com/company/33/8/26/62438/PM-Cultural--Tourism-Sdn-Bhd.html"}]},"list":[{"lonSpan":0.1766824722290039,"lon":102.2011971473685,"agencyId":"AG1","lat":2.2659808772471948,"latSpan":0.15555363245723042}]},"code":200,"version":2}

我一直收到这个错误

com.fasterxml.jackson.databind.JsonMappingException: Can not instantiate value of type [simple type, class com.panorama.tripplan.pojo.Agency_coverage] from Long integral number; no single-long-arg constructor/factory method

这是根变量的pojo

@JsonRootName(value = "currentTime")

public class Agency_coverage{

private Number code;

private Number currentTime;

private Data data;

private String text;

private Number version;

public Agency_coverage(){}

public Number getCode(){

return this.code;

}

public void setCode(Number code){

this.code = code;

}

public Number getCurrentTime(){

return this.currentTime;

}

public void setCurrentTime(Number currentTime){

this.currentTime = currentTime;

}

public Data getData(){

return this.data;

}

public void setData(Data data){

this.data = data;

}

public String getText(){

return this.text;

}

public void setText(String text){

this.text = text;

}

public Number getVersion(){

return this.version;

}

public void setVersion(Number version){

this.version = version;

}

这是我尝试调用api并解析响应的代码

java.net.URLConnection connection = new URL(url + "?" + query+ "&" + queryLat+ "&" + queryLon).openConnection();

connection.setRequestProperty("Accept-Charset", charset);

if ( connection instanceof HttpURLConnection)

{

//Jackson 2.X configuration settings

mapper.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, true);

mapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);

mapper.configure(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT, true);

mapper.configure(DeserializationFeature.USE_JAVA_ARRAY_FOR_JSON_ARRAY, true);

mapper.configure(DeserializationFeature.READ_ENUMS_USING_TO_STRING, true);

mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

//Tell Jackson to expect the JSON in PascalCase, instead of camelCase

mapper.setPropertyNamingStrategy(new PropertyNamingStrategy.PascalCaseStrategy());

HttpURLConnection httpConnection =(HttpURLConnection) connection;

//Make the HTTP request, and deserialize the JSON response into the object

Agency_coverage agencyData= new Agency_coverage();

agencyData = mapper.readValue(agenturl, Agency_coverage.class);

//System.out.println(agencyData.getData().getList().get(0).);

System.out.println(agencyData.getCurrentTime());

System.out.println(httpConnection.getResponseCode());

}

请帮忙,如果你能理解这个问题,我对java开发有点新意,并且我全力以赴

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值