2012-05-15 15 views
5

ho bisogno di tornare dati JSON che contengono successo valore (vero o falso) Inoltre, è necessario disporre di un messaggio risultato troppo.Asp.Net MVC3, successo tornando JsonResult

quindi utilizzando il dizionario per contenere i dati, ma quando si tornare ai dati di Jason, che contiene "" (Quot).

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

ritorna,

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

ma ho bisogno,

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

Qualcuno lo sa?

Grazie!

risposta

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

è valido JSON. Puoi verificarlo here. in jsonlint.com

Non hai nemmeno bisogno di un dizionario per tornare quella JSON. Puoi semplicemente utilizzare una variabile anonima come questa:

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

per accedere a questi dati dal tuo cliente, puoi farlo.

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

+1 sono venuto a scrivere questo, anche se non avrei usato una variabile, ma questo è solo la mia preferenza :) – mattytommo

+0

@mattytommo: amo i tipi anonimi in C# in scenari come questo – Shyju

+0

La chiave di successo ancora deve essere tra virgolette e il tuo codice lo fa. A meno che l'OP non abbia un refuso ... sta chiedendo un JSON non valido. Il tuo codice restituisce { "di successo": "Falso", "messaggio": "il messaggio di errore"} – BZink

Problemi correlati