Raz*_*zib 3 java json jsp gson
我有一个名为responseObj 的地图
Map<String, object> responseObj = new HashMap<String, Object>();
Run Code Online (Sandbox Code Playgroud)
我在responseObj中添加了一些值,如下所示 -
responseObj.put("canApprove", true); //1
responseObj.put("approvers", userList);
Run Code Online (Sandbox Code Playgroud)
这userList是一个列表或用户 -
List<User> userList = new ArrayList<User>();
Run Code Online (Sandbox Code Playgroud)
User 类中的用户对象 -
class User {
private int userId;
private int roleId;
}
Run Code Online (Sandbox Code Playgroud)
现在我有一些问题——
是否可以将 转换responseObj为 json 以便"canApprove"成为"approvers"json 的键(请参阅下面的代码片段)以及如何制作它?
{
"canApprove" : true,
"approver": [
{
"userId": 309,
"roleId": 2009
},
{
"userId": 3008,
"roleId": 2009
},
Run Code Online (Sandbox Code Playgroud)
] }
如果我将其转换为 json 并从 jsp 获取响应,我是否可以在 jsp 中获取相应的布尔值,其中引用"canApprove"an ?ObjectresponseObj
我可以将Class"userId" and "roleId"中的 JSON持久化吗?User
尝试这个 :
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;
}
}
Run Code Online (Sandbox Code Playgroud)
测试 :
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));
Run Code Online (Sandbox Code Playgroud)
印刷 :
{"approvers":[{"userId":1,"roleId":1},{"userId":2,"roleId":2}],"canApprove":true}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
45781 次 |
| 最近记录: |