将JSON字符串转换为MVC中的JsonResult

本文关键字:MVC 中的 JsonResult 转换 JSON 字符串 | 更新日期: 2023-09-27 17:54:36

我们正在尝试制作模拟服务来提供JSON。我们将纯JSON字符串存储在静态文件中,并希望将它们原样提供给客户端,而不需要任何额外的包装器。例如,我们有json字符串{"result_code":200,{"name":"John", "lastName": "Doe"}},我们想在客户端上得到json响应,就像这样,没有任何内容或数据包装。

我们有一个解决方案,我们使用数据契约并将json反序列化为c#对象,但这有点复杂,我们不需要它。

谢谢

将JSON字符串转换为MVC中的JsonResult

您可以通过引用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();
        }
    }
}

您可以直接从模拟方法返回JsonResult。

可以通过手动发送内容返回一个静态JSON字符串。

public ActionResult Tester()
{
    return Content("{'"result_code'":200,{'"name'":'"John'", '"lastName'": '"Doe'"}}", "application/json");
}

抱歉,如果这不是你想问的