[英]Converting Map<String, Object> to json
我有一張叫做responseObj的地圖
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>();
用戶類中的用戶對象-
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中獲取相應的布爾值,其中"canApprove"
在responseObj
引用了Object
?
我可以將"userId" and "roleId"
從User
類"userId" and "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}
您可以嘗試使用JSONObject將地圖解析為JSON。
Maven依賴項是:
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20140107</version>
</dependency>
稍后創建一個新的JSON對象並傳遞地圖
JSONObject obj = new JSONObject(responseObj);
並將對象返回到此Web客戶端。
new com.google.gson.Gson().toJson(responseObj);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.