Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SpringWebMVCJSON-对象数组的jackson键/名称(命名数组)_Json_Spring Mvc_Jackson - Fatal编程技术网

SpringWebMVCJSON-对象数组的jackson键/名称(命名数组)

SpringWebMVCJSON-对象数组的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

如何获得一个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));
        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;   
}