使用RestTemplate .getForObject直接将json映射解析为Java Object

问题描述

我正在尝试从以下api解析json映射: https://www.blockchain.com/ticker

{
  "USD" : {"15m" : 11399.94,"last" : 11399.94,"buy" : 11399.94,"sell" : 11399.94,"symbol" : "$"},"AUD" : {"15m" : 15910.66,"last" : 15910.66,"buy" : 15910.66,"sell" : 15910.66,"BRL" : {"15m" : 63932.01,"last" : 63932.01,"buy" : 63932.01,"sell" : 63932.01,"symbol" : "R$"},"CAD" : {"15m" : 14971.37,"last" : 14971.37,"buy" : 14971.37,"sell" : 14971.37,"CHF" : {"15m" : 10413.39,"last" : 10413.39,"buy" : 10413.39,"sell" : 10413.39,"symbol" : "CHF"},"CLP" : {"15m" : 9099432.97,"last" : 9099432.97,"buy" : 9099432.97,"sell" : 9099432.97,"CNY" : {"15m" : 76953.02,"last" : 76953.02,"buy" : 76953.02,"sell" : 76953.02,"symbol" : "¥"},"DKK" : {"15m" : 72199.05,"last" : 72199.05,"buy" : 72199.05,"sell" : 72199.05,"symbol" : "kr"},"EUR" : {"15m" : 9717.18,"last" : 9717.18,"buy" : 9717.18,"sell" : 9717.18,"symbol" : "€"},"GBP" : {"15m" : 8777.16,"last" : 8777.16,"buy" : 8777.16,"sell" : 8777.16,"symbol" : "£"},"HKD" : {"15m" : 88363.79,"last" : 88363.79,"buy" : 88363.79,"sell" : 88363.79,"INR" : {"15m" : 837031.46,"last" : 837031.46,"buy" : 837031.46,"sell" : 837031.46,"symbol" : "₹"},"ISK" : {"15m" : 1582995.82,"last" : 1582995.82,"buy" : 1582995.82,"sell" : 1582995.82,"JPY" : {"15m" : 1202868.95,"last" : 1202868.95,"buy" : 1202868.95,"sell" : 1202868.95,"KRW" : {"15m" : 1.309534032E7,"last" : 1.309534032E7,"buy" : 1.309534032E7,"sell" : 1.309534032E7,"symbol" : "₩"},"NZD" : {"15m" : 17171.95,"last" : 17171.95,"buy" : 17171.95,"sell" : 17171.95,"PLN" : {"15m" : 43605.7,"last" : 43605.7,"buy" : 43605.7,"sell" : 43605.7,"symbol" : "zł"},"RUB" : {"15m" : 879231.29,"last" : 879231.29,"buy" : 879231.29,"sell" : 879231.29,"symbol" : "RUB"},"SEK" : {"15m" : 100421.91,"last" : 100421.91,"buy" : 100421.91,"sell" : 100421.91,"SGD" : {"15m" : 15504.73,"last" : 15504.73,"buy" : 15504.73,"sell" : 15504.73,"THB" : {"15m" : 356259.56,"last" : 356259.56,"buy" : 356259.56,"sell" : 356259.56,"symbol" : "฿"},"TRY" : {"15m" : 90282.4,"last" : 90282.4,"buy" : 90282.4,"sell" : 90282.4,"symbol" : "₺"},"TWD" : {"15m" : 327708.39,"last" : 327708.39,"buy" : 327708.39,"sell" : 327708.39,"symbol" : "NT$"}
}

当我使用restTemplate.getForObject(url,Object.class)时,我得到的错误是转换错误

我创建的对象是一个包含Map<String,MarketPrice>的项目,其中字符串是开头的key(USD,AUD),而Market price是另一个包含以下内容的对象:(15m Double,最后Double,买卖Double,符号String)。

如何在不使用Object Mapper的情况下直接解析?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)