Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET创建多级JSON_C#_Asp.net_Json - Fatal编程技术网

C# ASP.NET创建多级JSON

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

我正在尝试创建多级JSON对象,作为我的ASP.NET web服务的结果。我正在使用Fiddler查看web服务返回了什么。我在其他一些网站上也有web服务,它返回我想要的东西。以下是一些例子:

它应该是这样的:

这就是我现在的样子:


我正在使用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
}