【发布时间】:2015-04-20 05:36:40
【问题描述】:
我在 Struts 2 中使用 jQuery File-Upload 插件。
在我的操作中,我正在填充 JSON 对象 "results",这就是我希望我的操作返回的全部内容。
但它也包括插件的 file 对象,它是一个不完整的 JSON,并导致我的回调中断所有内容。
(请注意,如果我不填充我的 result 对象,那么它将返回一个有效的 JSON "file" 对象。
有什么方法可以避免返回"file" JSON 响应?我只想让我的操作只返回"results"
{
"results": [
{
"ExcelPath": "/usr/test/test.xlsx",
"ExcelName": "test.xlsx",
"TestExcelStatus": "success"
}
]
}
{
"file": {
"absolute": true,
"absoluteFile": null,
"absolutePath": "\/usr\/local\/apache-tomcat-7.0.39\/temp"
},
"path": "\/usr\/local\/apache-tomcat-7.0.39\/temp\/up
我的Action如下:
org.json.JSONObject resp = new JSONObject();
JSONArray resultsArray = new JSONArray();
resp.put("results",resultsArray);
JSONObject result = new JSONObject();
result.put("TestExcelStatus", "success");
result.put("ExcelName", this.fileFileName);
result.put("ExcelPath", fileToCreate.getPath());
resultsArray.put(result);
servletResponse.reset();
servletResponse.setHeader("Content-Type","application/json; charset=UTF-8");
servletResponse.setHeader("CacheControl","no-cache");
servletResponse.setHeader("Pragma","no-cache");
servletResponse.setHeader("Expires","-1");
//resp.writeJSONString(out);
resp.write(servletResponse.getWriter());
我希望下面的行清除现有的 JSON,只返回我的 "results" JSON。但它仍然返回所有东西。
servletResponse.reset();
并且所需的 JSON 响应必须如下所示,没有 "file"。
{
"results": [
{
"ExcelPath": "/usr/test/test.xlsx",
"ExcelName": "test.xlsx",
"TestExcelStatus": "success"
}
]
}
【问题讨论】:
-
不确定这是否会有所帮助。刚刚注意到absolutePath,路径值中没有右双引号(“)。
-
嗨 Rao,这不是问题,“绝对路径”实际上以结尾引号 (") 结尾。我想要一种方法来清除所有这些“文件”响应。如您所见,我是只需在 JSON 中添加“结果”对象
标签: java json servlets struts2 jquery-file-upload