Вопрос по asp.net, asp.net-mvc-3 – Asp.Net MVC3, возвращающий успех JsonResult

6

Мне нужно также вернуть данные JSON, которые содержат значение успеха (true или false), для него тоже должно быть сообщение о результате.

поэтому я использую Словарь, чтобы содержать данные, но когда он возвращается к данным Джейсона, он содержит & quot; & quot; (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)

Кто-нибудь знает об этом?

Спасибо!

Ваш Ответ

1   ответ
32
{"Success":"False","Message":"Error Message"}

является действительным JSON. Вы можете проверить этоВо. в 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);
   });
});
@ BZink: Вы правы. JSON этого OP действителен. должна быть проблема в его клиентском скрипте. Я обновил свой ответ, чтобы упомянуть об этом. Shyju
+ 1 Я пришел написать это, хотя я бы не использовал переменную, но это только мои предпочтения:) mattytommo
Ключ успеха все еще должен быть в кавычках, и ваш код делает это. Если у ОП нет опечатки ... он просит неверный JSON. Ваш код возвращает {"Success": "False", "Message": "Message Error"} BZink
@ mattytommo: я люблю анонимные типы в C # в подобных сценариях Shyju
contentType: 'application / json'; Тоже неплохо mzonerz

Похожие вопросы