2012-05-15 125 views
5

我还需要返回包含成功值(true或false)的JSON数据,它也需要结果消息。Asp.Net MVC3,返回成功JsonResult

所以我使用Dictionary来包含数据,但是当它返回到Jason数据时,它包含“”(Quot)。

JsonResult = new Dictionary<string, string>(); 
JsonResult.Add("Success", "False"); 
JsonResult.Add("Message", "Error Message"); 
return Json(JsonResult); 

返回,

{"Success":"False","Message":"Error Message"} 

但我需要,

{Success:False,Message:"Error Message"} //with out "" (Quot) 

任何人都知道这件事吗?

谢谢!

回答

30
{"Success":"False","Message":"Error Message"} 

是有效的JSON。你可以检查它here。在jsonlint.com

你甚至不需要一个字典来返回该JSON。您可以简单地使用这样的匿名变量:

public ActionResult YourActionMethodName() 
{ 
    var result=new { Success="False", Message="Error Message"}; 
    return Json(result, JsonRequestBehavior.AllowGet); 
} 

要从客户端访问此数据,您可以执行此操作。

$(function(){ 
    $.getJSON('YourController/YourActionMethodName', function(data) { 
     alert(data.Success); 
     alert(data.Message); 
    }); 
}); 
+0

+1我来写这篇文章,虽然我不会用一个变量,但是这只是我的偏爱:) – mattytommo

+0

@mattytommo:我喜欢匿名类型在C#中的场景是这样 – Shyju

+0

成功的关键还是必须用引号括起来,而你的代码就是这样做的。除非OP有错字...他要求无效的JSON。您的代码返回{“成功”:“假”,“消息”:“错误消息”} – BZink