Pregunta sobre asp.net, asp.net-mvc-3 – Asp.Net MVC3, regresando exitosamente a JsonResult

6

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

así que uso el 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 yo necesito,

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

Alguien sabe acerca de esto?

¡Gracias!

Tu respuesta

1   la respuesta
32
{"Success":"False","Message":"Error Message"}

es válido JSON. Usted puede comprobarloaquí. en jsonlint.com

Ni siquiera necesitas un diccionario para devolver ese JSON. Simplemente puedes 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 estos datos desde su cliente, puede hacer esto.

$(function(){
   $.getJSON('YourController/YourActionMethodName', function(data) {
      alert(data.Success);
      alert(data.Message);
   });
});
@BZink: Estás en lo correcto. Ese JSON de OP es válido. Debería ser un problema en su script de cliente. Actualicé mi respuesta para mencionar eso. Shyju
contentType: 'application / json'; tambien bien mzonerz
+1 Vine a escribir esto, aunque no hubiera usado una variable, pero esa es mi preferencia :) mattytommo
@mattytommo: Me encantan los tipos anónimos en C # en escenarios como este Shyju
La clave de éxito aún tiene que estar entre comillas, y tu código lo hace. A menos que el OP tenga un error tipográfico ... está pidiendo JSON no válido. Su código devuelve {"Correcto": "Falso", "Mensaje": "Mensaje de error"} BZink

Preguntas relacionadas