首先,这个问题可能以前曾被问过,但由于我的措辞不好,我找不到答案。
我从WebService
调用
{
"id":5000174774,
"name":"company_name",
"choices":
{
"Farmway":
{
"Head Office (BSU)":[],
"Alnwick":[],
"Bury St Edmunds":[]
},
"Tate":
{
"Head Office":[],
"Tate Britain Entrance":[]
}
}
}
以下是我要用于反序列化的类
public class RootObject
{
[JsonProperty("id")]
public long Id { get; set; }
[JsonProperty("name")]
public string Name { get; set; }
[JsonProperty("choices")]
public Company[] Companies{ get; set; }
}
public class Company
{
public string[] Shops { get; set; }
}
我从未见过这样的JSON格式,我不知道如何获取属性名称而不是值。 "choices"
不是array
而是object
,但我事先无法知道其属性。我只想得到所有公司及其商店。
我希望它有某种意义。
答案 0 :(得分:0)
我不知道你的解串器,但通常一个好的候选者是Dictionary
:
[JsonProperty("choices")]
public Dictionary<string, Dictionary<string, List<OfSomething>> Companies { get; set; }
所以,你的第一个键是一个字符串,带有公司名称,值是另一个字典,将公司BU链接到我不知道的列表/数组。
如果您需要将此结构详细说明为其他内容,则可以使用Linq进行处理。