问题描述
我上课
class abc{
[JsonPropertyName("firstName")]
public string FirstName{get; set;}
[JsonPropertyName("lastName")]
public string LastName{get; set;} }
我正在为其中一种方法分配一些值。
public void DownloadJson(){
abc abcModel= new abc(){ FirstName="Tom",LastName="Torres"};
var test = JsonConvert.SerializeObject(abcModel);
}
我想将此测试对象保存(下载)到我的浏览器中的json文件中,而无需在新窗口中定向,只需简单地使用相同的DownloadJson()方法并在当前窗口中下载它即可。
解决方法
public ContentResult DownloadJson(){
var builder = new StringBuilder();
abc abcModel= new abc(){ FirstName="Tom",LastName="Torres"};
var test = JsonConvert.SerializeObject(abcModel);
builder.Append($"{test}")
var fileName = "someName.JSON";
Response.Headers.Add("Content-Disposition",$"attachment; filename=\"{fileName}\"");
return Content(data,"text/plain");
}
您是否尝试过返回ContentResult?
,有效。
fileName="xyz.json"
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(test);
var content = new System.IO.MemoryStream(bytes);
return File(content,"application/json",fileName);