gpt4 book ai didi

java - jackson Jersey JSON

转载 作者:太空宇宙 更新时间:2023-11-04 07:06:32 24 4
gpt4 key购买 nike

我正在尝试使用 Jersey 和 Jackson(尽管任何其他进行 JSON 解码的方法都可以)将其以某种形式(无论是 POJO 还是其他表示形式)放入我的系统中。

基本上我只需要数据部分。我试图将 GenericTypes 与列表一起使用,但这是一个嵌套列表,我只是不确定该怎么做。非常感谢您的帮助,我真的很感激!

{
"total": 4,
"data": [
{
"descriptor": "",
"multiInstance": false,
"active": false
},
{
"descriptor": "Apparel",
"multiInstance": true,
},
{
"descriptor": "abcd123",
"multiInstance": false,

},
{
"descriptor": "abcd",
"multiInstance": false,
}
]
}

这是我正在尝试使用的类。我需要一个类(class)列表。

public class customObject {

@JsonProperty(value = "descriptor")
private String descriptor;
@JsonProperty(value = "multiInstance")
private Boolean multiInstance;

//getters and setters
}

编辑:

我在这里使用它。

自定义对象响应 WDCOResponse = 资源 .type(MediaType.APPLICATION_JSON) .accept(MediaType.APPLICATION_JSON) .header("授权", getToken()).get(WDCOResponse.class);

但是还是不行。

编辑2:想通了这一点!谢谢大家。 :)

我必须添加注释来告诉它忽略未找到的内容,我返回的一些 JSON 格式不完整,因为并非所有字段都是绝对必要的。

最佳答案

如果您提供的对象是要传递给 Controller ​​的对象,那么您将需要另一个包装器对象来包含如下列表:

public class CustomRequest {

@JSonProperty(value = "total");
private Integer total;

@JsonProperty(value = "data")
private List<CustomObject> data;

// getters/setters

}


public class CustomObject {

@JsonProperty(value = "descriptor")
private String descriptor;

@JsonProperty(value = "multiInstance")
private Boolean multiInstance;

// getters/setters
}

然后您的 Controller 将仅具有显示 RequestBody 是 CustomRequest 类的注释:

@Controller
public class JSONController {

@RequestMapping(value="sendData")
public @ResponseBody CustomResponse sendData(
@RequestBody CustomRequest request)
{
return null;
}

}

如果仍然出现错误,请提供详细的错误或问题。谢谢!

关于java - jackson Jersey JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21290270/

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