如何在java中返回多个JSON项的列表,第2部分

如何在java中返回多个JSON项的列表,第2部分,java,json,ldap,Java,Json,Ldap,这是一个后续问题 再说一次,我对Java和JSON完全陌生,所以我知道的不多。我能够进一步回答上面提到的问题,但现在我遇到了更多的问题,即(基本上)如何返回多个JSON列表的语法。(我从SpringBoot获得了这些代码,但我真的不知道它们是如何工作的;我还在学习Java。) 目前,这是我尝试过的: @GetMapping("reports/{userID}") public ResponseEntity<LookupResponseList> getDirect

这是一个后续问题

再说一次,我对Java和JSON完全陌生,所以我知道的不多。我能够进一步回答上面提到的问题,但现在我遇到了更多的问题,即(基本上)如何返回多个JSON列表的语法。(我从SpringBoot获得了这些代码,但我真的不知道它们是如何工作的;我还在学习Java。)

目前,这是我尝试过的:

@GetMapping("reports/{userID}")
public ResponseEntity<LookupResponseList> getDirectReports(@PathVariable String userID) {
    Optional<List<LDAPModel>> ldapModel = ldapService.getDirectReports(userID);
        if (!ldapModel.isPresent()) {
            return new ResponseEntity<>(HttpStatus.NOT_FOUND);
        }
        LookupResponseResultList result = ldapMapper.toLookupResponseResultList(ldapModel.get());
        return ResponseEntity.ok(LookupResponseList.result(result, LookupResponseList.class));
    }
ldapMapper.tolookuppresponseresultlist的代码如下:

   public LookupResponseResultList toLookupResponseResultList(List<LDAPModel> ldapModel) {
        return LookupResponseResultList.builder()
                .userId(ldapModel.toString())
//                .userId(ldapModel.getUserId())
//                .telephoneNumber(ldapModel.getTelephoneNumber())
                .build();
    }
public class LookupResponseList extends BaseBodyResponse<LookupResponseList.LookupResponseResultList> {
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public static class LookupResponseResultList {
    String userId;
    String telephoneNumber;
}
如何使ToLookupPresponsereSultList返回多个JSON的列表(如下所示),而不是字符串

{
"result": [
    {
      "userId": "abcde123",
      "telephoneNumber": "1-555-5555555"
    },
    {
      "userId": "fghi456",
      "telephoneNumber": "1-333-3333333"
    }
    ],
"error": null
}

编辑:LookupResponseResultList类如下:

   public LookupResponseResultList toLookupResponseResultList(List<LDAPModel> ldapModel) {
        return LookupResponseResultList.builder()
                .userId(ldapModel.toString())
//                .userId(ldapModel.getUserId())
//                .telephoneNumber(ldapModel.getTelephoneNumber())
                .build();
    }
public class LookupResponseList extends BaseBodyResponse<LookupResponseList.LookupResponseResultList> {
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public static class LookupResponseResultList {
    String userId;
    String telephoneNumber;
}
公共类LookupResponseList扩展了BaseBodyResponse{
@资料
@建筑商
@诺尔格构装师
@AllArgsConstructor
公共静态类LookupResponseResultList{
字符串用户标识;
字符串电话号码;
}
问题出在-

   public LookupResponseResultList toLookupResponseResultList(List<LDAPModel> ldapModel) {
    return LookupResponseResultList.builder()
            .userId(ldapModel.toString()) // THIS LINE
            .build();
}
public LookupResponseResultList到LookupPresponseResultList(列表ldapModel){
返回LookupResponseResultList.builder()
.userId(ldapModel.toString())//此行
.build();
}
此LookupResponseResultList类必须接受LDAPModel对象的列表

class LookupResponseResultList {
    @JsonProperty
    private List<LDAPModel> result;

    private String error.
}
class LookupResponseResultList{
@JsonProperty
私有列表结果;
私有字符串错误。
}
修改生成器,并提供列表本身,而不是使用ldapModel.toString()设置字符串

当前,LookupResponseResultList类具有列表的字符串表示形式。请提供列表而不是字符串。

问题在于-

   public LookupResponseResultList toLookupResponseResultList(List<LDAPModel> ldapModel) {
    return LookupResponseResultList.builder()
            .userId(ldapModel.toString()) // THIS LINE
            .build();
}
public LookupResponseResultList到LookupPresponseResultList(列表ldapModel){
返回LookupResponseResultList.builder()
.userId(ldapModel.toString())//此行
.build();
}
此LookupResponseResultList类必须接受LDAPModel对象的列表

class LookupResponseResultList {
    @JsonProperty
    private List<LDAPModel> result;

    private String error.
}
class LookupResponseResultList{
@JsonProperty
私有列表结果;
私有字符串错误。
}
修改生成器,并提供列表本身,而不是使用ldapModel.toString()设置字符串

当前,LookupResponseResultList类具有列表的字符串表示形式。请提供列表而不是字符串