簡體   English   中英

ASP.NET創建多級JSON

[英]ASP.NET Creating multi-level JSON

由於我的ASP.NET Web服務,我試圖創建多級JSON對象。 我正在使用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();

JSON助手

public static class JSONHelper
{
    public static string ToJSON(this object obj)
    {
        JavaScriptSerializer serializer = new JavaScriptSerializer();
        return serializer.Serialize(obj);
    }

    public static string ToJSON(this object obj, int recursionDepth)
    {
        JavaScriptSerializer serializer = new JavaScriptSerializer();
        serializer.RecursionLimit = recursionDepth;
        return serializer.Serialize(obj);
    }
}

類別:

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
}

從Fiddler復制原始json,然后將其粘貼到以下站點: http : //json2csharp.com/ 它將創建您需要的C#類,以便序列化回所需的JSON格式。

對於那些將面臨與我相同的問題的人。 答案是Web服務的返回類型。 如果要返回字符串,並且響應格式設置為Json,則.NET會自動序列化您的字符串。 因此,在第一次序列化之后,.NET又做了另一個,它只是逃脫了我所有的“。”就是這樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM