gpt4 book ai didi

java - JSON 数组到对象列表 : UnrecognizedPropertyException

转载 作者:行者123 更新时间:2023-12-01 18:02:54 25 4
gpt4 key购买 nike

我找不到以下数组 json 字符串的错误位置。我不确定我的映射是否正确。我希望有 friend 能帮助我。

谢谢...

JSON 字符串值如下;

[
{
"PaymentRequest": {
"RequestGuid": 123
...
}
},{
"PaymentRequest": {
"RequestGuid": 456
...
}
}
]

对象定义如下;

@JsonRootName(value = "PaymentRequest")
@JsonIgnoreProperties(ignoreUnknown = true)
public class PaymentRequest{
@JsonProperty("RequestGuid")
String requestGuid;
...
}

我的包装类如下所示;

public class MyWrapper{
PaymentRequest paymentRequest;
//setter getter
}

我的实现如下。

ObjectMapper mapper = new ObjectMapper();
List<MyWrapper> users = mapper.readValue(jsonString, new TypeReference<List<MyWrapper>>() {});

结果:com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException:无法识别的字段“PaymentRequest”(类 vpos.dto.MyWrapper),未标记为可忽略(一个已知属性:“paymentRequest”]) 在[来源:(StringReader);行:3,列:24](通过引用链:java.util.ArrayList[0]->vpos.dto.MyWrapper["PaymentRequest"])

最佳答案

问题是 json 中的属性称为 PaymentRequest ,而您的字段是 paymentRequest ,开头的 p 较低。您可以将注释 @JsonProperty("PaymentRequest") 添加到您的字段或更改属性命名策略,如下所示:

ObjectMapper mapper = new ObjectMapper();
mapper.setPropertyNamingStrategy(PropertyNamingStrategy.UPPER_CAMEL_CASE);

关于java - JSON 数组到对象列表 : UnrecognizedPropertyException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60601617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com