Sto provando a scrivere un metodo C# che serializzerà un modello e restituirà un risultato JSON. Qui è il mio codice:Utilizzo di JSON.NET per restituire 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);
}
ho ottenuto il seguente risultato JSON quando vado a parole/Leggi in 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}
penso che il \" sfuggito citazioni sono un problema che si verifica quando si fa doppio serialize un oggetto da altre questioni:. WCF JSON output is getting unwanted quotes & backslashes added
sembra definitivamente come sto doppia serializzazione mio oggetto, da quando ho serializzare utilizzando JSON.NET e poi passare il mio risultato in JSON() la funzione che ho bisogno di serializzare manualmente. per avoi d referenceloops, ma penso che il mio View abbia bisogno di un ActionResult.
Come posso restituire un ActionResult qui? Devo o posso semplicemente restituire una stringa?
Sul ritorno javascript, faccio solo JSON.parse (messaggio) ;. – MiniRagnarok
Significa usare Javascript per analizzare solo la/"s? Sto usando Razor HTML helper per un pacchetto specifico, quindi non so come farlo funzionare .. – hubatish