我正在访问一个返回 JSON 格式的 API:
{"status":1,"complete":1,"list":{"293352541":{"item_id":"293352541","fave":"0"},"247320106":{"item_id":"247320106","fave":"0"},"291842735":{"item_id":"291842735","fave":"0"} .....
我遇到的问题是item_id tag 之前的数字。它打破了我在反序列化方面所做的任何尝试,因为我无法在我反序列化的对象中表示这个随机整数。
例如,我希望这个数字是单词“Item”,因此它是代表封闭对象的键,但是拥有这个数字意味着我无法制作 JSon 的对象表示。
所以
public class MyClass
{
public string status { get; set; }
public string complete { get; set; }
public List<MyObject> list { get; set; }
}
public class MyObject
{
public string item_id { get; set; }
public string fave { get; set; }
}
然后
var items = new JavaScriptSerializer().Deserialize<MyClass>(jsontext);
derialises,但 items.list 是空的。
还,
dynamic result = JSon.Parse(jsontext);
有效,但我无法以一种很好的方式反序列化或访问项目列表。
有没有办法做到这一点?谢谢