我们正在尝试使用模拟服务来提供JSON服务。我们有简单的JSON字符串存储在静态文件中,并且希望按原样将它们提供给客户端,而不需要任何其他包装器。
例如。我们有json字符串{"result_code":200,{"name":"John", "lastName": "Doe"}}
,我们希望在没有任何Content或Data包装器的情况下在客户端上获取json响应。
我们有解决方案,我们使用数据协定并将json反序列化为C#对象,但这有点复杂,我们并不需要它。
谢谢
答案 0 :(得分:20)
您可以通过引用System.Web.Mvc来完成此操作。我快速控制台应用程序中的示例:
using System;
using System.Web.Mvc;
using Newtonsoft.Json;
namespace Sandbox
{
class Program
{
private static void Main(string[] args)
{
//Added "person" to the JSON so it would deserialize
var testData = "{\"result_code\":200, \"person\":{\"name\":\"John\", \"lastName\": \"Doe\"}}";
var result = new JsonResult
{
Data = JsonConvert.DeserializeObject(testData)
};
Console.WriteLine(result.Data);
Console.ReadKey();
}
}
}
你可以从mock方法返回JsonResult。
答案 1 :(得分:8)
您可以通过手动发送内容来返回静态JSON字符串。
public ActionResult Tester()
{
return Content("{\"result_code\":200,{\"name\":\"John\", \"lastName\": \"Doe\"}}", "application/json");
}
很抱歉,如果这不是您正在询问的内容