如何为数组或列表(非项目名称)创建 java json dto?

How to create java json dto for array or lists (non item name)?

我尝试从控制器输入读取 json

当我在节点中使用名称时,一切正常

有json

{
    "itemList": [
        {
            "name": "Alex",
            "surname": "Ivanov",
            "age": "25"
        },
        {
            "name": "Daria",
            "surname": "Ivanova",
            "age": "23"
        }
    ]
}

在 json

的根目录中有 itemList

而且我可以通过这个类

控制器

@RequestMapping(value = "/users",
        consumes = MediaType.APPLICATION_JSON_UTF8_VALUE,
        produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public class UserController {
    @Post
    public ResponseEntity add(@RequestBody UserDto user) {
    //todo check breack point hear
        return new ResponseEntity<UserDto>(user, null, HttpStatus.OK);
    }
}

和型号

@RequiredArgsConstructor
@Getter
@Setter
@ToString
@EqualsAndHashCode
public class UserDto implements Serializable {
    public List<UserItem> itemList;
}


@RequiredArgsConstructor
@Getter
@Setter
@ToString
@EqualsAndHashCode
public class UserItem implements Serializable {
    private String name;
    private String surname;
    private String age;
}

但是,我真的需要,我需要像这样解析 json:

只是对象中没有名称的项目

{
    [
        {
            "name": "Alex",
            "surname": "Ivanov",
            "age": "25"
        },
        {
            "name": "Daria",
            "surname": "Ivanova",
            "age": "23"
        }
    ]
}

如何制作?

这是一个格式错误的 JSON 对象。里面的数组没有key

{
    [
        {
            "name": "Alex",
            "surname": "Ivanov",
            "age": "25"
        },
        {
            "name": "Daria",
            "surname": "Ivanova",
            "age": "23"
        }
    ]
}

我想你要找的是 JSON 数组:

    [
        {
            "name": "Alex",
            "surname": "Ivanov",
            "age": "25"
        },
        {
            "name": "Daria",
            "surname": "Ivanova",
            "age": "23"
        }
    ]

要解析此 JSON 数组,只需修改您的控制器以接受 UserItem:

的列表
@RequestBody List<UserItem> users