C#/AngularJS-将字符串转换为JSON
我有一个StoredProcedure,它在我的数据库中生成一个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": [ {
{
"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
]