我有以下JSON ...
{
"navigation-items":[
{
"title":"Title",
"description":"This is the desc",
"link":"http://google.com"
}
]
}
我有以下Java
public class ExternalConfig {
@SerializedName("navigation-items")
private List<NavigationItem> items;
public NavigationItem getNavItem(Integer index){
return items.get(index);
}
public void putNavItem(NavigationItem item){
items.add(item);
}
public Integer navItemSize(){
return items == null ? 0 : items.size();
}
}
...
@PostMapping("config")
@ResponseBody
public void setConfig(@RequestBody ExternalConfig config){
System.out.println(config.navItemSize() > 0);
}
但是当我发送带有以下正文的请求时......
{
"navigation-items":[
{
"title":"Title",
"description":"This is the desc",
"link":"http://google.com"
},{
"title":"Test 2",
"description":"asdasdsadsadas",
"link":"http://drudgereport.com"
}
]
}
但是当我在端点中中断时,该项为null。如何将带有连字符的JSON传递给Spring Boot?
答案 0 :(得分:0)
如果您使用spring-boot,请使用@JsonProperty。
@JsonProperty("navigation-items")
private List<NavigationItem> items;
答案 1 :(得分:0)
这里真正的问题是我没有像这样包括杰克逊-数据绑定...
compile 'com.fasterxml.jackson.core:jackson-databind:latest.release'
由于我已经有了,所以不确定是否有使用GSON的方法,但是现在我只使用杰克逊。