使用 ASP.NET JsonResult Class 格式化 JSON 响应
Format JSON response using ASP.NET JsonResult Class
我正在尝试将 BlueImp jQuery 文件上传组件集成到我的 ASP.NET 4 网站中。我有文件上传工作并写入磁盘,但该组件要求我 return 来自服务器的 JSON 对象作为成功的确认,以特定格式:
{"files": [
{
"name": "picture1.jpg",
"size": 902604,
"url": "http:\/\/example.org\/files\/picture1.jpg",
"thumbnailUrl": "http:\/\/example.org\/files\/thumbnail\/picture1.jpg",
"deleteUrl": "http:\/\/example.org\/files\/picture1.jpg",
"deleteType": "DELETE"
},
{
"name": "picture2.jpg",
"size": 841946,
"url": "http:\/\/example.org\/files\/picture2.jpg",
"thumbnailUrl": "http:\/\/example.org\/files\/thumbnail\/picture2.jpg",
"deleteUrl": "http:\/\/example.org\/files\/picture2.jpg",
"deleteType": "DELETE"
}
]}
我想在我的 C# 中使用 JsonResultClass return 这个对象,但我不确定如何正确设置响应的格式。我可能会做这样的事情:
var uploadedFiles = new List<object>();
uploadedFiles.Add(new { name = "picture1.jpg", size = 902604, url = "http://example.org/files/picture1.jpg", thumbnailUrl = "http://example.org/files/thumbnail/picture1.jpg", deleteUrl ="http://example.org/files/picture1.jpg", deleteType = "DELETE" });
uploadedFiles.Add(new { name = "picture2.jpg", size = 902604, url = "http://example.org/files/picture1.jpg", thumbnailUrl = "http://example.org/files/thumbnail/picture1.jpg", deleteUrl ="http://example.org/files/picture1.jpg", deleteType = "DELETE" });
return Json(uploadedFiles);
...但是我不确定如何将它包装在外部 'files' 对象中。
任何人都可以在这里为我(一个正在尝试学习的 .NET 新手!)指出正确的方向。我看过 MSDN documentation,但它没有详细介绍格式化或构建更复杂的 JSON 对象。
非常感谢。
替换:
return Json(uploadedFiles);
与:
return Json(new {files = uploadedFiles});
使用 属性 "files" 创建一个新的匿名类型,它以您的原始列表作为值。
我正在尝试将 BlueImp jQuery 文件上传组件集成到我的 ASP.NET 4 网站中。我有文件上传工作并写入磁盘,但该组件要求我 return 来自服务器的 JSON 对象作为成功的确认,以特定格式:
{"files": [
{
"name": "picture1.jpg",
"size": 902604,
"url": "http:\/\/example.org\/files\/picture1.jpg",
"thumbnailUrl": "http:\/\/example.org\/files\/thumbnail\/picture1.jpg",
"deleteUrl": "http:\/\/example.org\/files\/picture1.jpg",
"deleteType": "DELETE"
},
{
"name": "picture2.jpg",
"size": 841946,
"url": "http:\/\/example.org\/files\/picture2.jpg",
"thumbnailUrl": "http:\/\/example.org\/files\/thumbnail\/picture2.jpg",
"deleteUrl": "http:\/\/example.org\/files\/picture2.jpg",
"deleteType": "DELETE"
}
]}
我想在我的 C# 中使用 JsonResultClass return 这个对象,但我不确定如何正确设置响应的格式。我可能会做这样的事情:
var uploadedFiles = new List<object>();
uploadedFiles.Add(new { name = "picture1.jpg", size = 902604, url = "http://example.org/files/picture1.jpg", thumbnailUrl = "http://example.org/files/thumbnail/picture1.jpg", deleteUrl ="http://example.org/files/picture1.jpg", deleteType = "DELETE" });
uploadedFiles.Add(new { name = "picture2.jpg", size = 902604, url = "http://example.org/files/picture1.jpg", thumbnailUrl = "http://example.org/files/thumbnail/picture1.jpg", deleteUrl ="http://example.org/files/picture1.jpg", deleteType = "DELETE" });
return Json(uploadedFiles);
...但是我不确定如何将它包装在外部 'files' 对象中。
任何人都可以在这里为我(一个正在尝试学习的 .NET 新手!)指出正确的方向。我看过 MSDN documentation,但它没有详细介绍格式化或构建更复杂的 JSON 对象。
非常感谢。
替换:
return Json(uploadedFiles);
与:
return Json(new {files = uploadedFiles});
使用 属性 "files" 创建一个新的匿名类型,它以您的原始列表作为值。