gpt4 book ai didi

Java - jackson 数组映射

转载 作者:搜寻专家 更新时间:2023-11-01 03:54:27 26 4
gpt4 key购买 nike

给定以下 JSON

{
"obj" : {
"f1" : "blah",
"f2" : "blah",
"f3" : [{"z1" : "blah", "arr" : [{"m1" : "blah", "m2" : "blah"}]}]
}
}

我厌倦了使用 @JsonProperty@JsonCreator为了图"m1""m2"值(value)观,但没有运气。

@JsonCreator public Card(Map<String,Object> props) { }我收到以下错误:

Argument #0 of constructor [constructor for MyObj$Obj$Card, annotations: {interface com.fasterxml.jackson.annotation.JsonCreator=@com.fasterxml.jackson.annotation.JsonCreator()}] has no property name annotation; must have name when multiple-paramater constructor annotated as Creator

@JsonCreator public Card(@JsonProperty("m1") String m1, @JsonProperty("m2") String m2,){}我收到以下错误:

Argument #0 of constructor [constructor for MyObj$Obj$Card, annotations: {interface com.fasterxml.jackson.annotation.JsonCreator=@com.fasterxml.jackson.annotation.JsonCreator()}] has no property name annotation; must have name when multiple-paramater constructor annotated as Creator

"arr"的字段如何使用 jackson 注释进行映射?谢谢。

更新

我还尝试包括 @JsonProperty("arr") private Card[] cards;f3类,但这也没有帮助。

更新 2

我在上面的更新中更改了数组类型,现在我没有收到错误,但它的行为并不如我所愿(我想处理映射)。

是否有机会以一种我可以更正错误的方式来解释错误。

最佳答案

如果 m1 和 m2 不是硬编码属性,那么您应该使用 TypeReference 将 json 转换为 java 映射。看这个entry

否则,您可以将“arr”映射到具有字符串 m1 和字符串 m2 作为字段的 Arr 类。

关于Java - jackson 数组映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12822429/

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