C#/AngularJS-将字符串转换为JSON

C#/AngularJS-将字符串转换为JSON,c#,angularjs,json,stored-procedures,C#,Angularjs,Json,Stored Procedures,我有一个StoredProcedure,它在我的数据库中生成一个JSON字符串 { "menuTitleMobile": "Menu", "levels": [ { "nav_type": "Sub", "level1_name":"Menu 1", "subitems": [ {

我有一个StoredProcedure,它在我的数据库中生成一个JSON字符串

{
    "menuTitleMobile": "Menu",
    "levels": [
                {
                "nav_type": "Sub",
                "level1_name":"Menu 1",
                "subitems": [
                    {
                    "level2_name": "Menu 1.1",
                    "level2_link": "#"
                    }, 
                    {
                    "level2_name": "Menu 1.2",
                    "level2_link": "#"
                    }]
                }
            ] }
我已经创建了一个C#控制器来访问存储过程。在此控制器中,我尝试将此字符串转换为Json对象:

public class HomeController : Controller
{
    public ActionResult Index()
    {
        return View();
    }

    public ActionResult GetDataMenu(string entity)
    {
        var da1 = new Models.data_access();
        var data1 = da1.GetDataMenu(entity);

        return new JsonNetResult(data1);

    }

    public class JsonNetResult : ActionResult
    {
        public object Data { get; set; }

        public JsonNetResult(object data)
        {
            Data = data;
        }

        public override void ExecuteResult(ControllerContext context)
        {                
            context.HttpContext.Response.ContentType = "application/json";
            context.HttpContext.Response.Write(JsonConvert.SerializeObject(Data));                
        }
    }
}
但当我在Angular应用程序中访问此方法时,它只显示一个包含整个字符串的对象,而不是几个对象(例如子项)

控制台:

[object Object]
   [
      0: {
         [functions]: ,
         __proto__: { },
         Column1: "{
        "menuTitleMobile": "Menu",
        "levels": [
                    {
                    "nav_type": "Sub",
                    "level1_name":"Menu 1",
                    "subitems": [
                        {
                        "level2_name": "Menu 1.1",
                        "level2_link": "#"
                        }, 
                        {
                        "level2_name": "Menu 1.2",
                        "level2_link": "#"
                        }]
                    }
                ]
 },
      length: 1
   ]

如何解决它在angular应用程序中以正确的方式显示json文件的问题?

您只需返回字符串作为响应的主体,并将内容类型标题设置为
application/json
。所有这些序列化都不是我尝试的内容类型标题,但结果仍然相同……您尝试的是序列化行,而不是列值。在任何情况下,如果您还没有Json字符串,则需要序列化为Json—您已经有了Json字符串。只需返回列文本,例如
returndata1.Column1
PSWebAPI已经使用了Json.Net,所以您不需要创建
JsonNetResult
类。我想您有一个ASP.NET MVC项目?我更关心的是为什么您有一个生成JSON的存储过程。
[object Object]
   [
      0: {
         [functions]: ,
         __proto__: { },
         Column1: "{
        "menuTitleMobile": "Menu",
        "levels": [
                    {
                    "nav_type": "Sub",
                    "level1_name":"Menu 1",
                    "subitems": [
                        {
                        "level2_name": "Menu 1.1",
                        "level2_link": "#"
                        }, 
                        {
                        "level2_name": "Menu 1.2",
                        "level2_link": "#"
                        }]
                    }
                ]
 },
      length: 1
   ]