2012-05-15 13 views
5

Necesito devolver datos JSON que contengan un valor correcto (verdadero o falso) también, también debe tener un mensaje de resultado.Asp.Net MVC3, devolver el éxito JsonResult

así que utilizo Diccionario para contener datos, pero cuando vuelve a los datos de Jason, contiene "" (Quot).

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

vuelve,

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

pero necesito,

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

Alguien sabe de esto?

¡Gracias!

Respuesta

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

es JSON válida. Puede verificarlo here. en jsonlint.com

Ni siquiera necesita un diccionario para devolver ese JSON. Simplemente puede usar una variable anónima como esta:

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

Para acceder a esta información desde su cliente, puede hacerlo.

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

+1 vine a escribir esto, aunque yo no lo he utilizado una variable, pero eso es sólo mi preferencia :) – mattytommo

+0

@mattytommo: Me encanta tipos anónimos en C# en escenarios como éste – Shyju

+0

La clave del éxito todavía tiene que estar entre comillas, y tu código hace eso. A menos que el OP tenga un error tipográfico ... está pidiendo JSON no válido. Su código devuelve {"Success": "False", "Message": "Mensaje de error"} – BZink