我想寫一個C#方法,將序列化模型並返回JSON結果。這裏是我的代碼:使用JSON.NET返回ActionResult
public ActionResult Read([DataSourceRequest] DataSourceRequest request)
{
var items = db.Words.Take(1).ToList();
JsonSerializerSettings jsSettings = new JsonSerializerSettings();
jsSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
var converted = JsonConvert.SerializeObject(items, null, jsSettings);
return Json(converted, JsonRequestBehavior.AllowGet);
}
我得到了以下JSON結果時,我去字/讀在Chrome:
"[{\"WordId\":1,\"Rank\":1,\"PartOfSpeech\":\"article\",\"Image\":\"Upload/29/1/Capture1.PNG\",\"FrequencyNumber\":\"22038615\",\"Article\":null,\"ClarificationText\":null,\"WordName\":\"the | article\",\"MasterId\":0,\"SoundFileUrl\":\"/UploadSound/7fd752a6-97ef-4a99-b324-a160295b8ac4/1/sixty_vocab_click_button.mp3\",\"LangId\":1,\"CatId\":null,\"IsActive\":false}
我認爲\」轉義引號是發生當您雙擊序列化問題一個對象和其他問題: WCF JSON output is getting unwanted quotes & backslashes added
這肯定看起來像我雙序列化我的對象,因爲我第一次使用序列化和JSON.NET然後我的結果傳遞到JSON()函數,我需要手動序列化。避免d referenceloops,但我認爲我的View需要一個ActionResult。
如何在這裏返回ActionResult?我需要,還是隻能返回一個字符串?
在JavaScript返回我只是做JSON.parse(消息);。 – MiniRagnarok
您的意思是使用Javascript解析出/「s?我正在使用Razor HTML幫助程序進行特定的包裝,所以我不知道如何讓它工作.. – hubatish