C# ASP.NET创建多级JSON
我正在尝试创建多级JSON对象,作为我的ASP.NET web服务的结果。我正在使用Fiddler查看web服务返回了什么。我在其他一些网站上也有web服务,它返回我想要的东西。以下是一些例子: 它应该是这样的: 这就是我现在的样子:C# ASP.NET创建多级JSON,c#,asp.net,json,C#,Asp.net,Json,我正在尝试创建多级JSON对象,作为我的ASP.NET web服务的结果。我正在使用Fiddler查看web服务返回了什么。我在其他一些网站上也有web服务,它返回我想要的东西。以下是一些例子: 它应该是这样的: 这就是我现在的样子: 我正在使用JavaScriptSerializer从ASP.NET列表生成JSON对象。谁能告诉我,我如何才能实现这个漂亮的结构,而不是我的平面结构?我将在jQuery中使用这个JSON对象 我的代码: List<ResultItem> resul
我正在使用JavaScriptSerializer从ASP.NET列表生成JSON对象。谁能告诉我,我如何才能实现这个漂亮的结构,而不是我的平面结构?我将在jQuery中使用这个JSON对象 我的代码:
List<ResultItem> results = new List<ResultItem> { };
foreach (DataRow row in ds.Tables[0].Rows)
{
results.Add(new ResultItem { T = ValidationHelper.GetString(row[4], ""), A = "Adresa", E = "0 akci" });
}
resultCategories.Add(new ResultCategory { T = "Mesta", I = results });
json = resultCategories.ToJSON();
课程:
public class ResultCategory
{
public string T { get; set; }// Title
public List<ResultItem> I { get; set; }
}
public class ResultItem
{
public string T { get; set; }// Title
public string A { get; set; }// Address
public string E { get; set; }// Events number
}
公共类结果分类
{
公共字符串T{get;set;}//Title
公共列表I{get;set;}
}
公共类结果
{
公共字符串T{get;set;}//Title
公共字符串A{get;set;}//地址
公共字符串E{get;set;}//事件数
}
从Fiddler复制原始json,并将其粘贴到此站点:。它将创建所需的C#类,以便序列化回所需的JSON格式。适用于那些将面临与我相同问题的人。答案是web服务的返回类型。如果返回字符串,并且响应格式设置为Json,.NET会自动序列化字符串。所以,在第一次序列化之后,.NET又做了一次,它完全逃过了我所有的访问“。就是这样。生成第二块JSON的代码是什么?我把它添加到问题的底部。希望代码的这一部分足够了。@JacobH-我们需要用英语进行对话,这样任何人都可以加入。以下是他的评论的粗略翻译:我试过了,基本上也是我的结构。我不需要它完全相同。问题是这样的,然后我创建JSON格式。在第一种情况下,原始JSON数据不带转义引号。对我来说,引用是转义的,这可能是问题所在。
public class ResultCategory
{
public string T { get; set; }// Title
public List<ResultItem> I { get; set; }
}
public class ResultItem
{
public string T { get; set; }// Title
public string A { get; set; }// Address
public string E { get; set; }// Events number
}