SpringWebMVCJSON-对象数组的jackson键/名称(命名数组)
如何获得一个json,它包含java对象,但带有一个键作为数组的标识符? 我在SpringMVC4.x中有以下内容。我使用Jackson库将对象封送到jsonSpringWebMVCJSON-对象数组的jackson键/名称(命名数组),json,spring-mvc,jackson,Json,Spring Mvc,Jackson,如何获得一个json,它包含java对象,但带有一个键作为数组的标识符? 我在SpringMVC4.x中有以下内容。我使用Jackson库将对象封送到json @RequestMapping(value="dogs") public List<Dog> getDogs(){ List<Dog> list_dogs = new ArrayList<Dog>(); list_dogs.add(new Dog("dog1",1
@RequestMapping(value="dogs")
public List<Dog> getDogs(){
List<Dog> list_dogs = new ArrayList<Dog>();
list_dogs.add(new Dog("dog1",1));
list_dogs.add(new Dog("dog2",2));
return list_dogs;
}
如何提供阵列的名称?好的,请使用映射而不仅仅是列表
@RequestMapping(value="dogs")
public Map<String, List<Dog>> getDogs(){
Map<String, List<Dog>> map = new HashMap<String, List<Dog>>();
List<Dog> list_dogs = new ArrayList<Dog>();
list_dogs.add(new Dog("dog1",1));
list_dogs.add(new Dog("dog2",2));
map.put("myArray", list_dogs);
//return list_dogs; [{"name":"dog1","age":1},{"name":"dog2","age":2}]
return map; //{"myArray":[{"name":"dog1","age":1},{"name":"dog2","age":2}]}
}
{"myArray":[{"name":"dog1","age":1},{"name":"dog2","age":2}]}
@RequestMapping(value=“dogs”)
公共地图{
Map Map=newhashmap();
List_dogs=new ArrayList();
列出狗。添加(新狗(“狗1”,1));
列出狗。添加(新狗(“狗2”,2));
地图放置(“myArray”,列出狗);
//返回列表_dogs;[{“name”:“dog1”,“age”:1},{“name”:“dog2”,“age”:2}]
返回映射;//{“myArray”:[{“name”:“dog1”,“age”:1},{“name”:“dog2”,“age”:2}]}
}
{“myArray”:[{“name”:“dog1”,“age”:1},{“name”:“dog2”,“age”:2}]}
您期望的响应是json对象,而不是json数组。
因此,使用所需的键创建一个json对象/映射
@RequestMapping(value="dogs")
public Map<String, List<Dog>> getDogs(){
List<Dog> list_dogs = new ArrayList<Dog>();
list_dogs.add(new Dog("dog1",1));
list_dogs.add(new Dog("dog2",2));
Map<String, List<Dog>> map = new HashMap<>();
map.put("array", list_dogs);
return map;
}
@RequestMapping(value=“dogs”)
公共地图{
List_dogs=new ArrayList();
列出狗。添加(新狗(“狗1”,1));
列出狗。添加(新狗(“狗2”,2));
Map Map=newhashmap();
地图放置(“阵列”,列出狗);
返回图;
}
@RequestMapping(value="dogs")
public Map<String, List<Dog>> getDogs(){
List<Dog> list_dogs = new ArrayList<Dog>();
list_dogs.add(new Dog("dog1",1));
list_dogs.add(new Dog("dog2",2));
Map<String, List<Dog>> map = new HashMap<>();
map.put("array", list_dogs);
return map;
}