我有一个名为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;
}
现在我有一些问题 -
是否可以将
responseObj
转换为 json,以便"canApprove"
和"approvers"
成为 json 的键(请参阅下面的代码片段)以及如何制作它?{ "canApprove" : true, "approver": [ { "userId": 309, "roleId": 2009 }, { "userId": 3008, "roleId": 2009 },
] }
如果我将其转换为 json 并从 jsp 获取响应,我可以在 jsp 中获取适当的 boolean 值,其中
"canApprove"
引用Object
在responseObj
中?我可以将
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}
关于java - 将 Map<String, Object> 转换为 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26911603/