我从Steam检索有关特定游戏的信息。我提供了一个应用网址:http://store.steampowered.com/app/ 57690 /并获得JSON响应,如:
{
"57690":{ // this is dynamically got from application id above ^
"success":true
"data": { }
}
}
我有一个对象SteamData
public bool success { get; set; }
public InternalData data { get; set; }
和InternalData
public string name { get; set; }
public string about_the_game { get; set; }
public string supported_languages { get; set; }
...
我尝试使用以下命令将上面的json反序列化为SteamData:
SteamData data = JsonConvert.DeserializeObject<SteamData>( thatJsonAbove );
它不起作用,因为存在一个应用程序ID 的根...
如何仅反序列化root内部(在此示例中,“57690”内部是什么)?
答案 0 :(得分:1)
如果使用Newtonsoft JSON库,您可以尝试这样做:
JObject gameInfo = JObject.Parse(json);
SteamData data= gameInfo.SelectToken("57690", false).ToObject<SteamData>();
由于您了解游戏的ID,因此您可以轻松使用此方法。