0

我有一个非常复杂的字符串表示一个 json 对象。我需要将其转换为某种形式,以便可以在 MVC 控制器中将其作为 JsonResult 返回。

string result = "[
{
    ""TagGroupName"": ""group1"",
    ""Tags"": [
        {
            ""TagName"": ""G1tag1""
        },
        {
            ""TagName"": ""G1tag2""
        },
        {
            ""TagName"": ""G1tag3""
        }
    ]
},
{
    ""TagGroupName"": ""group2"",
    ""Tags"": [
        {
            ""TagName"": ""G2tag1""
        },
        {
            ""TagName"": ""G2tag2""
        }
    ]
}
]";

该字符串是动态构建的。

不确定我是否在正确的轨道上,但我使用 NewtonSoft 将其解析为“JObject”,但我还需要将此字符串转换为 JsonResult 类型(Jquery 应将其识别为 Json 对象)

4

1 回答 1

5

由于您已经有一个字符串,因此您不需要返回 JsonResult。JsonResult 基本上将对象转换为 JSON。

您可以在 ContentResult 中返回它并指定正确的内容类型:

string result = @"[{ ""TagGroupName"": ""group1"", ""Tags"": [{""TagName"":""G1tag1""},{""TagName"":""G1tag2""},{""TagName"":""G1tag3""}]}, { ""TagGroupName"": ""group2"", ""Tags"": [{""TagName"":""G2tag1""},{""TagName"":""G2tag2""}]}]";

return new ContentResult { Content = result, ContentType = "application/json" };

只需将您的 Action 方法 ActionResult 作为返回类型就可以了

于 2013-04-28T22:36:15.483 回答