【发布时间】:2013-09-10 14:25:46
【问题描述】:
所以我正在尝试将字典转换为 JSON 对象,问题是生成的 JSON 无效,当它尝试将地图列表转换为 JSON 时会出现问题
final List<Map<String,Object>> sessions = new ArrayList<Map<String,Object>>();
Map<String,Object> sessionDict = null;
for (String session : SessionsList) {
sessionDict = new HashMap<String,Object>();
sessionDict.put("SessionCode", session);
sessions.add(sessionDict);
}
Map<String,Object> map = new HashMap<String,Object>(){
private static final long serialVersionUID = 1L;
{
put("EmailAnswer", "Y");
put("IsSendSupervisor", isSendSup);
put("IsSendTC", isSendTC);
put("ContentType", "MS");
put("ApprovalResponse", "");
put("EmpId", empId);
put("IsSendEmployee", isSendEmp);
put("MyScheduleRecords", sessions);
}};
JSONObject json = new JSONObject(map);
生成的内容如下:
{
"EmpId":"100-02",
"IsSendEmployee":"Y",
"ApprovalResponse":"",
"EmailAnswer":"Y",
"IsSendTC":"Y",
"MyScheduleRecords":"[
{
SessionCode=371
},
{
SessionCode=372
}
]",
"ContentType":"MS",
"IsSendSupervisor":"N"
}
但我希望它是这样转换的:
[
{
"EmailAnswer": "Y",
"IsSendSupervisor": "N",
"IsSendTC": "N",
"ContentType": "MS",
"ApprovalResponse": "",
"EmpId": "100-01",
"IsSendEmployee": "Y",
"MyScheduleRecords": [
{
"SessionCode": "152"
},
{
"SessionCode": "500"
}
]
}
]
有谁知道为什么它没有被正确转换?
【问题讨论】: