Come eseguire l’output della stringa Json come JsonResult in MVC4?

Sembra così semplice che devo pensarci troppo.

TL; DR;

Come posso modificare il codice qui sotto per restituire l’object json contenuto nella stringa piuttosto che una stringa che sembra contenere json?

public ActionResult Test() { var json_string = "{ success: \"true\" }"; return Json(json_string, JsonRequestBehavior.AllowGet); } 

Questo codice restituisce una stringa letterale contenente il json:

 "{ success: "true" }" 

Tuttavia, mi piacerebbe che restituisse il json contenuto nella stringa:

 { success: "true" } 

Versione leggermente più lunga

Sto provando a prototipare rapidamente alcune chiamate API esterne e voglio solo passare quei risultati attraverso la mia “api” come risposta falsa per ora. L’object json non è banale – qualcosa dell’ordine di 10.000 “linee” o 90 KB. Non voglio creare un object fortemente tipizzato per tutti i contenuti di questa risposta JSON solo così posso eseguirlo attraverso un deserializzatore – così è fuori.

Quindi la logica di base nel mio controller è:

  1. Chiama externall api
  2. Memorizza il risultato della stringa della richiesta web in una var (vedi json_string sopra)
  3. Emetti quei risultati come json (non una stringa) usando il metodo di produzione JsonResult Json ()

Qualsiasi aiuto è molto apprezzato … la mente si sta sciogliendo.

L’intero punto del metodo helper Json() è serializzare come JSON.

Se vuoi restituire il contenuto non elaborato, fallo direttamente:

 return Content(jsonString, "application/json"); 
 public ActionResult Test() { return Json(new { success = true }, JsonRequestBehavior.AllowGet); }