2012-05-15 5 views
5

성공 값 (true 또는 false)을 포함하는 JSON 데이터도 반환해야하며 결과 메시지도 필요합니다.Asp.Net 성공 MVC3 반환 JsonResult

그래서 사전을 사용하여 데이터를 포함하지만 Jason 데이터로 돌아 오면 ""(쉼표)가 포함됩니다.

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에서 확인할 수 있습니다. in 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이다 : 나는 아직도이 – Shyju

+0

성공의 키와 같은 시나리오에서 C#으로 익명 형식을 사랑 따옴표로 묶어야하며, 코드는 그렇게합니다. OP에 오자가 없다면 ... 그는 잘못된 JSON을 요구하고 있습니다. 귀하의 코드는 { "성공": "거짓", "메시지": "오류 메시지"}를 반환합니다. – BZink