【发布时间】:2015-09-13 17:48:02
【问题描述】:
我有这个由第三方网络服务生成的 JSON
{
"user_data": {
"123456789": {
"transactions_id": 123456789,
"transaction_date": "2015-07-08T18:31:28+01:00",
"reason_type": "REWARD",
"category": "categoryFoo",
"title": "titleFoo",
"description": "",
"reward_quantity": 5,
"reward_name": " foo"
},
"1234567891": {
"transactions_id": 1234567891,
"transaction_date": "2015-07-08T18:33:06+01:00",
"reason_type": "REWARD",
"category": "categoryFoo",
"title": "titleFoo",
"description": "",
"reward_quantity": 5,
"reward_name": " foo"
},
"1234567892": {
"transactions_id": 1234567892,
"transaction_date": "2015-07-08T18:35:00+01:00",
"reason_type": "REWARD",
"category": "categoryFoo",
"title": "titleFoo",
"description": "",
"reward_quantity": 5,
"issuers_name": " foo"
}
}
}
事务量会随着每个请求而变化,因此一次可能有 3 次这样的请求,然后下一次可能有 10 次。为了处理不同数量的交易,我知道您需要使用与此 public List<User> users { get; set; } 类似的列表,而用户与此类似
public class User
{
public int transactions_id { get; set; }
public string transaction_date { get; set; }
public string reason_type { get; set; }
public string category { get; set; }
public string title { get; set; }
public string description { get; set; }
public int reward_quantity { get; set; }
public string reward_name { get; set; }
}
但我确实认为这会起作用,因为 JSON 的结构很奇怪,其中每个“事务”都以 ID 作为其名称。抱歉,我不确定术语是否正确,但我认为您应该能够理解要点。
【问题讨论】:
-
请不要在问题标题中重复标签。
-
使用
public Dictionary<long, User> user_data { get; set; }。或者public Dictionary<string, User> user_data { get; set; }如果 ID 并不总是数字。 -
Dictionary<string, User>?
标签: c# json list json.net deserialization