2010-04-21 10 views
50

Ich habe einige gespeicherte JSON-Strings in der DB gespeichert, die ich als JsonResult an den Client zurückgeben möchte. Ich weiß, dass Json (Objekt) ein Objekt in JsonResult verwandelt, aber was ist, wenn ich das Ergebnis bereits in einer Zeichenkette habe? kann ich es JsonResult werfenKann ich einen JSON-String in JsonResult konvertieren?

Antwort

6

Sie die Zeichenfolge an den Client zurückgeben konnten und dann mit dem $ .parseJSON() (jquery) es zu einem tatsächlichen JSON-Objekt zu analysieren.

109

Sie müssen keine JsonResult zurückgeben, da ihre Aufgabe darin besteht, ein Objekt in JSON-Zeichenfolge zu serialisieren. Sie haben bereits die JSON-String, so schicken Sie es nur in einem Content und den richtigen Inhaltstyp angeben:

string json = //get some json from your DB 
return new ContentResult { Content = json, ContentType = "application/json" }; 

Denken Sie daran, dass Ihre MVC Aktion Methoden alle ActionResult als Rückgabetyp haben sollte, so dass Sie ContentResult zurückkehren kann genauso leicht als JsonResult.

+22

Es gibt auch eine 'Content' Methode ähnlich der' Json' Methode, so dass Sie 'return Content (json," application/json ");'. – Kylar

+0

@Kylar schöner Punkt –

Verwandte Themen