2012-05-15 36 views
5

Tôi cần trả lại dữ liệu JSON chứa giá trị thành công (đúng hoặc sai), cũng cần có thông báo kết quả.Asp.Net MVC3, trả về thành công JsonResult

vì vậy tôi sử dụng từ điển để chứa dữ liệu nhưng khi nó trở về dữ liệu Jason, nó chứa "" (Quot).

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

nó trả,

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

nhưng tôi cần,

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

Bất kỳ ai biết về điều này?

Cảm ơn bạn!

Trả lời

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

là hợp lệ JSON. Bạn có thể kiểm tra nó here. trong jsonlint.com

Bạn thậm chí không cần từ điển để trả lại JSON đó. Bạn có thể chỉ cần sử dụng biến ẩn danh như sau:

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

để truy cập dữ liệu này từ ứng dụng khách, bạn có thể thực hiện việc này.

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

+1 Tôi đến viết này, mặc dù tôi đã không sử dụng một biến, nhưng đó chỉ là sở thích của tôi :) – mattytommo

+0

@mattytommo: Tôi yêu các kiểu nặc danh trong C# trong các tình huống như – Shyju

+0

này Chìa khóa thành công vẫn phải có dấu ngoặc kép và mã của bạn làm điều đó. Trừ khi OP có lỗi đánh máy ... anh ta yêu cầu JSON không hợp lệ. Mã của bạn trả về {"Thành công": "Sai", "Thông báo": "Thông báo lỗi"} – BZink

Các vấn đề liên quan