Ответ 1
Вся цель вспомогательного метода Json()
заключается в сериализации как JSON.
Если вы хотите вернуть исходный контент, сделайте это напрямую:
return Content(jsonString, "application/json");
Это кажется таким простым, что я должен передумать.
TL; DR;
Как мне изменить код ниже, чтобы вернуть объект json, содержащийся в строке, а не строку, которая содержит json?
public ActionResult Test()
{
var json_string = "{ success: \"true\" }";
return Json(json_string, JsonRequestBehavior.AllowGet);
}
Этот код возвращает строковый литерал, содержащий json:
"{ success: "true" }"
Однако мне бы хотелось, чтобы он возвращал json, содержащийся в строке:
{ success: "true" }
Немного более длинная версия
Я пытаюсь быстро прототипировать некоторые внешние вызовы api и просто хочу передать эти результаты через мой "api" как поддельный ответ на данный момент. Объект json является нетривиальным - что-то вроде порядка 10 000 строк или 90 КБ. Я не хочу создавать строго типизированные объекты для всего содержимого этого одного json-ответа, чтобы я мог запускать его через десериализатор - так что это не так.
Итак, основная логика моего контроллера:
Любая помощь очень ценится... ум тает.
Вся цель вспомогательного метода Json()
заключается в сериализации как JSON.
Если вы хотите вернуть исходный контент, сделайте это напрямую:
return Content(jsonString, "application/json");
public ActionResult Test()
{
return Json(new { success = true }, JsonRequestBehavior.AllowGet);
}