[AcceptVerbs("GET")]
public ActionResult GetColumnLinkCallBack()
{
//允许ajax跨域
Response.AppendHeader("Access-Control-Allow-Origin", "*");
List<object> list = new List<object>();
var createTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
var json1 = new
{
url = "http://baidu.com",
columnName = "test",
level = 1,
webId = 202307240913,
createTtime = createTime,
isColumn = 0,
flag = 1
};
list.Add(json1);
string outPath = ContextPath + @"template\columnlink\栏目链接.jsonp";
FileStream fs = null;
if (!System.IO.File.Exists(outPath))
{
fs = new FileStream(outPath, FileMode.Create, FileAccess.Write);
}
else
{
fs = new FileStream(outPath, FileMode.Open, FileAccess.Write);
}
//开始写入
StreamWriter sw = new StreamWriter(fs);
string lines = ConvertJsonString(JsonConvert.SerializeObject(list));
sw.WriteLine(lines);
//清空缓冲区
sw.Flush();
//关闭流
sw.Close();
fs.Close();
return File(outPath, "application/vnd.ms-excel;charset=utf-8", "栏目链接导出.jsonp");
}
/// <summary>
/// 字符串转json字符串
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
private static string ConvertJsonString(string str)
{
//格式化json字符串
JsonSerializer serializer = new JsonSerializer();
TextReader tr = new StringReader(str);
JsonTextReader jtr = new JsonTextReader(tr);
object obj = serializer.Deserialize(jtr);
if (obj != null)
{
StringWriter textWriter = new StringWriter();
JsonTextWriter jsonWriter = new JsonTextWriter(textWriter)
{
Formatting = Formatting.Indented,
Indentation = 4,
IndentChar = ' '
};
serializer.Serialize(jsonWriter, obj);
return textWriter.ToString();
}
else
{
return str;
}
}