C#对象到JSON的转换

本文关键字:转换 JSON 对象 | 更新日期: 2023-09-27 18:21:22

我想获得JSON中的下一个结构:

{
    'for-sale': { name: 'For Sale', type: 'folder' },
    'vehicles': { name: 'Vehicles', type: 'folder' },
    'rentals': { name: 'Rentals', type: 'folder' },
}

我可以使用JavaScriptSerializer将.net类转换为JSON格式。但对于上面的样本数据,我的类必须具有什么结构?

C#对象到JSON的转换

你试过这个吗:

public class MyClass
{
    [JsonProperty("for-sale")]
    public IList<Item> forSale { get; set; }
    public IList<Item> vehicles { get; set; }
    public IList<Item> rentals { get; set; }
}
public class Item
{
    public string name { get; set; }
    public string type { get; set; }
}

您也可以使用DataContractJsonSerializer,而是使用以下类:

[DataContract]
public class MyClass
{
    [DataMember(Name = "for-sale")]
    public IList<Item> forSale { get; set; }
    [DataMember]
    public IList<Item> vehicles { get; set; }
    [DataMember]
    public IList<Item> rentals { get; set; }
}
[DataContract]
public class Item
{
    [DataMember]
    public string name { get; set; }
    [DataMember]
    public string type { get; set; }
}

看起来您需要

var theStructure = Dictionary<string, Dictionary<string,string>>()

并向其添加数据,如:

theStructure.Add("for-sale", new Dictionary<string, string>() {("For Sale", "folder")});