【发布时间】:2023-03-16 13:26:01
【问题描述】:
下面是我在java中使用jackson解析的json字符串
String rspString = "{\"currency\": [{\"USD\": [\"U.S.Dollar\",\"$\"]},\"USD\"]}";
JsonUtil jsonUtil = new JsonUtil();
API1Response configAPI1Rsp = new API1Response();
API1Rsp = (API1Response) jsonUtil.Json2Object(rspString, configAPI1Rsp);
public class API1Response
{
@JsonProperty("Currency")
public List<Currency> currency;
//getters and setters
}
public class Currency()
{
@JsonProperty("USD")
public List<USD> USD
//getters and Setters
}
当我运行上面的代码时,我得到了以下错误:
无法从字符串值 ('USD') 实例化类型 [简单类型,com.sample.test.Currency] 类型的值;没有单字符串构造函数/工厂方法
在上面的响应字符串中如何对待 USD(对象中的最后一个)如何在 java 中为该对象定义。
提前致谢。
【问题讨论】:
-
上面贴的代码是否正确?它编译吗?
public class Currency()我认为它不应该有括号()请发布确切的工作代码 -
还要添加 Currency 类的构造函数。我认为可能没有一个接受单个字符串或没有参数的方法,而且您可能没有工厂方法。
-
对不起那个错字,他们不是“()”类货币。你能举个例子,这样它会引导我走上正确的道路