2013-04-28 46 views
0

我有一個相當複雜的字符串表示json對象。我需要將它轉換爲某種形式,以便我可以在我的MVC控制器中將它作爲JsonResult返回。解析json格式的字符串到json中,並用c創建jsonresult類型的對象#

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

該字符串是動態構建的。

不知道我是否在正確的軌道,但我使用NewtonSoft解析成「JObject」,但我也需要將此字符串轉換爲JsonResult類型(它應該被Jquery識別爲Json對象)

+0

你可以使用內置的JSON解析器。它可能不是最快的解決方案,但它應該工作。 – Nomad101 2013-04-28 22:35:51

回答

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" }; 

只要給您的操作方法的ActionResult作爲返回類型,並應工作

+0

簡單易行的解決方案 – Jorge 2013-04-28 22:37:31