我正在用 c# 开发一个应用程序,它使用 Backpack.tf 的 api 在名为 TF2 的游戏中获取玩家背包的价值。
目前的代码是:
(MAIN CLASS)
JsonConvert.DeserializeObject<Json1>(json);
(END OF MAIN CLASS)
public class Json1 {
public static List<Json2> response { get; set; }
}
public class Json2
{
public static int success { get; set; }
public static int current_time { get; set; }
public static IEnumerable<Json4> players { get; set; }
}
public class Json4 {
public static int steamid { get; set; }
public static int success { get; set; }
public static double backpack_value { get; set; }
public static string name { get; set; }
}
我已经从主类等中删除了所有其他废话,但我只想说是的,我已经将 json 代码放入准备反序列化的 json 字符串中(使用 Console.Writeline 对其进行了测试)
问题是。每当我使用 Json4.name 之类的东西(写入控制台时)它总是返回 0。
对不起,如果我犯了一个愚蠢的错误,但我想我已经尝试过删除静态、更改变量类型等,但我仍然无法让它工作。请注意,这是我第一次尝试反序列化 Json 代码,我自己在底部编写了类,因为某些原因http://json2csharp.com/不起作用。这是我试图反序列化的Json:
{
"response":{
"success":1,
"current_time":1365261392,
"players":{
"0":{
"steamid":"76561198045802942",
"success":1,
"backpack_value":12893.93,
"backpack_update":1365261284,
"name":"Brad Pitt",
"stats_tf_reputation":2257,
"stats_tf_supporter":1,
"notifications":0
},
"1":{
"steamid":"76561197960435530",
"success":1,
"backpack_value":4544.56,
"backpack_update":1365254794,
"name":"Robin",
"notifications":0
}
}
}
}
(格式有点乱。还请原谅一些拼写错误:))