私が制御していないサービスから同様の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; }
}
ただし、次のような customconverter のキーにアクセスする方法がわからないため、これを達成する方法の手がかりがありません。
http://blog.maskalik.com/asp-net/json-net-implement-custom-serialization
念のために、私が取得した Json 文字列の実際のサンプルを見つけることができるページへのリンク: Ninjablocks Rest API documentation with json samples