2019独角兽企业重金招聘Python工程师标准>>>
public class JsonNetResult : ActionResult
{
public Encoding ContentEncoding { get; set; }
public string ContentType { get; set; }
public object Data { get; set; }
public JsonSerializerSettings SerializerSettings { get; set; }
public Formatting Formatting { get; set; }
public JsonNetResult()
{
SerializerSettings = new JsonSerializerSettings();
}
public override void ExecuteResult(ControllerContext context)
{
if (context == null)
throw new ArgumentNullException("context");
HttpResponseBase response = context.HttpContext.Response;
response.ContentType = !string.IsNullOrEmpty(ContentType)
? ContentType
: "application/json";
if (ContentEncoding != null)
response.ContentEncoding = ContentEncoding;
if (Data != null)
{
JsonTextWriter writer = new JsonTextWriter(response.Output) { Formatting = Formatting };
JsonSerializer serializer = JsonSerializer.Create(SerializerSettings);
serializer.Serialize(writer, Data);
writer.Flush();
}
}
}
This is an ActionResult I wrote to return JSON from ASP.NET MVC to the browser using Json.NET.
The benefit of using JsonNetResult over the built in JsonResult is you get a better serializer (IMO [:)]) and all the other benefits of Json.NET like nicely formatted JSON text.
http://james.newtonking.com/json/help/index.html
使用
public JsonNetResult Edit(String elementID, String tableName, String idInElementDetail)
{
BookElement be = new BookElement();
String inputTemplate = be.getInputTemplateStringByID(elementID, Server.MapPath("~"));
JObject outObject = new JObject();
outObject.Add("inputTemplate",new JValue(inputTemplate));
ElementInPage el = new ElementInPage();
DataTable eData = el.getElementInPageDetail(tableName, idInElementDetail);
JObject dataObject = new JObject();
foreach (DataRow eRow in eData.Rows)
{
foreach (DataColumn eCol in eData.Columns)
{
dataObject.Add(eCol.ColumnName,new JValue(eRow[eCol].ToString()));
}
}
outObject.Add("elementData",dataObject);
Debug.WriteLine("outdata:" + outObject.ToString());
JsonNetResult jsonNet = new JsonNetResult();
jsonNet.Data = outObject;
return jsonNet;
}
另外一种 就是JsonResult,这个是这个NewTon JSON包本身就支持的,但这个一般是从Model序列化而来。
转载于:https://my.oschina.net/xiaohelong/blog/497899
最后
以上就是犹豫睫毛最近收集整理的关于C# MVC中返回JSON 对象的全部内容,更多相关C#内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复