gpt4 book ai didi

java - 将 Map 转换为 json

转载 作者:行者123 更新时间:2023-12-03 07:35:45 26 4
gpt4 key购买 nike

我有一个名为responseObj的 map

Map<String, object> responseObj = new HashMap<String, Object>();

我在responseObj中添加了一些值,如下所示 -

responseObj.put("canApprove", true); //1
responseObj.put("approvers", userList);

userList 是一个或多个用户的列表 -

List<User> userList = new ArrayList<User>();

来自 User 类的用户对象 -

class User {
private int userId;
private int roleId;
}

现在我有一些问题 -

  1. 是否可以将 responseObj 转换为 json,以便 "canApprove""approvers" 成为 json 的键(请参阅下面的代码片段)以及如何制作它?

    {
    "canApprove" : true,
    "approver": [
    {
    "userId": 309,
    "roleId": 2009
    },
    {
    "userId": 3008,
    "roleId": 2009
    },

    ] }

  2. 如果我将其转换为 json 并从 jsp 获取响应,我可以在 jsp 中获取适当的 boolean 值,其中 "canApprove" 引用 ObjectresponseObj 中?

  3. 我可以将 User 类中的 “userId”和“roleId” 持久保存为 JSON 吗?

最佳答案

试试这个:

public static class User
{
public User(int userId, int roleId)
{
this.userId = userId;
this.roleId = roleId;
}
private int userId;
private int roleId;
public int getUserId()
{
return userId;
}
public int getRoleId()
{
return roleId;
}
public void setUserId(int userId)
{
this.userId = userId;
}
public void setRoleId(int roleId)
{
this.roleId = roleId;
}
}

测试:

Map<String, Object> responseObj = new HashMap<String, Object>();
List<User> userList = new ArrayList<User>();
userList.add(new User(1, 1));
userList.add(new User(2, 2));
responseObj.put("canApprove", true); //1
responseObj.put("approvers", userList);

System.out.println(new JSONObject(responseObj));

打印:

{"approvers":[{"userId":1,"roleId":1},{"userId":2,"roleId":2}],"canApprove":true}

(formatted)

关于java - 将 Map<String, Object> 转换为 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26911603/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com