如何在Java中返回多个JSON项目的列表

QQP :

我试图弄清楚如何返回多个JSON项目。现在,我能够返回单个JSON,如下所示:

{
    "result": {
        "userId": "abcde123",
        "telephoneNumber": "1-555-5555555"
        },
    "error": null
}

但我想返回多个JSON项目,如下所示:

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

我可以将多个JSON项目视为字符串,如下所示,但我想将其作为多个JSON项目返回,但我不知道如何:

[LDAPModel(userId=abcde123, telephoneNumber=1-555-5555555), LDAPModel(userId=fghi456, telephoneNumber=1-333-3333333]

我是Java的完全入门者,并且对Java的语法不甚了解。但是我从SpringBoot得到了这些代码(包括下面的代码)。我真的不明白它在做什么,所以我不知道如何创建列表的输出。

目前,这是给我的:

public Optional<LDAPModel> getDirectReports(String cdsID) {
        LdapQuery ldapQuery = LdapQueryBuilder.query()
                .searchScope(SearchScope.SUBTREE)
                .where("objectclass").is("person")
                .and("managerID").like(cdsID);

        List<LDAPModel> ldapModelList = ldapTemplate.search(ldapQuery, (Attributes attrs) ->
                LDAPModel.builder()
                        .userId(getValue(attrs, "userid"))
                        .telephoneNumber(getValue(attrs, "phoneNumber"))
                        .build());
//        for (int ii = 0; ii < ldapModelList.size(); ii++) {
//            Optional.of(ldapModelList.get(ii));
//            ldapModelList.isEmpty() ? Optional.empty() : Optional.of(ldapModelList.get(ii));
//        }
        return ldapModelList.isEmpty() ? Optional.empty() : Optional.of(ldapModelList.get(0));
    }

我尝试将其放入循环中(如上面注释掉的代码中所示),但是我不知道如何创建列表。我尝试删除get(0),但是出现语法错误...我尝试了很多事情,但这没有帮助。

有人可以帮忙吗?

更新/编辑:谢谢大家的回答。我在这里发表了后续问题如果有机会,请帮帮我。谢谢。

迈克尔·伊斯坎达拉尼(Michael Iskandarani):

首先,我想指出您的JSON格式不正确。当您想用JSON表示多个对象时,应使用方括号并用逗号分隔每个对象:

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

尝试删除get(0)时Java代码不起作用的原因是该方法public Optional<LDAPModel> getDirectReports(String cdsID)返回一个Optional<LDAPModel>类型,而通过删除get(0)则实际上是在尝试返回an Optional<List<LDAPModel>>如果希望该方法返回列表而不是单个对象,则可以将返回类型更改为Optional<List<LDAPModel>>,然后安全地删除get(0)。

public Optional<List<LDAPModel>> getDirectReports(String cdsID) {
        LdapQuery ldapQuery = LdapQueryBuilder.query()
                .searchScope(SearchScope.SUBTREE)
                .where("objectclass").is("person")
                .and("managerID").like(cdsID);

        List<LDAPModel> ldapModelList = ldapTemplate.search(ldapQuery, (Attributes attrs) ->
                LDAPModel.builder()
                        .userId(getValue(attrs, "userid"))
                        .telephoneNumber(getValue(attrs, "phoneNumber"))
                        .build());

        return ldapModelList.isEmpty() ? Optional.empty() : Optional.of(ldapModelList);
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何根据列表中项目的多个结果计算列表?

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

如何在列表C#中查找n个或多个顺序重复的项目的组

如何更改包含多个项目的列表中特定项目的值?

如何在Java类中获取Maven项目的依赖项列表

如何在 Django 项目的模板中显示多个视图?

如何在Linux中停止角度项目的目录列表

如何在java中为列表中的项目创建多个线程?

如何读取 JSON 并返回项目的值?

如何读取 JSON 并返回项目的值?

如何在Java中返回多个Integer?

如何在Intellij Idea中更改项目的Java版本?

如何在Python中访问列表中的多个项目?

如何在带有多个项目选择的Java swing中创建下拉列表?

测试列表中项目的存在并返回项目或索引

在嵌套列表中搜索项目,然后返回项目的索引

如何在一个 .sln 中仅发布来自多个项目的更改项目?

如何在 ActiveCollab 中返回项目任务列表

如何在列表中的某个项目之后获取项目的出现次数

使用列表查找列表中多个项目的索引

如何计算列表中项目的频率?

如何轮询列表中项目的更新?

如何计算列表中项目的出现

如何在python 3.7中将项目的字典列表与普通列表进行比较

如何在列表中搜索给定项目的列表是否以相同的顺序存在

如何在列表的子列表中查找项目的索引(python)

如何在每个子列表中拆分具有固定数量项目的列表

如何在文本小部件中的Flutter中获取列表中项目的编号

如何将列表框中项目的值返回到文本框