我从我无法控制的服务中获得了类似的 Json:
"SomeKey":
{
"Name": "Some name",
"Type": "Some type"
},
"SomeOtherKey":
{
"Name": "Some other name",
"Type": "Some type"
}
我正在尝试通过使用 NewtonSoft Json.Net 将该字符串反序列化为 .Net 类,它工作得很好,因为我的类现在看起来像这样:
public class MyRootClass
{
public Dictionary<String, MyChildClass> Devices { get; set; }
}
public class MyChildClass
{
[JsonProperty("Name")]
public String Name { get; set; }
[JsonProperty("Type")]
public String Type { get; set; }
}
然而,我更喜欢我的班级的扁平化版本,没有这样的字典:
public class MyRootClass
{
[JsonProperty("InsertMiracleCodeHere")]
public String Key { get; set; }
[JsonProperty("Name")]
public String Name { get; set; }
[JsonProperty("Type")]
public String Type { get; set; }
}
但是,我不知道如何实现这一点,因为我不知道如何访问自定义转换器中的键,如下所示:
http://blog.maskalik.com/asp-net/json-net-implement-custom-serialization
以防万一有人关心,可以找到指向我获得的 Json 字符串的实际示例的页面的链接:Ninjablocks Rest API documentation with json samples