使用多个数据类型的键反序列化JSON文件
使用多个数据类型的键反序列化JSON文件
我想要分析Telegram聊天记录,所以我以JSON格式导出了一条聊天记录,并希望将其反序列化到我的分析软件中。
所以我使用了以下简单的代码来读取JSON数据:
ListjsonObjects = JsonConvert.DeserializeObject >(File.ReadAllText(openFileDialog.FileName)); public class JSONObject { public int ID; public string type; public string date; public string edited; public string from; public int fromID; public string photo; public int width; public int height; public string text; }
前525个数据集的反序列化非常顺利,但之后我遇到了由于“一致性问题”而无法反序列化数据的困扰。文本的数据类型有时会变成数组形式。
此外,我还发现了这个数据集:
{
"id": 397911,
"type": "message",
"date": "2018-02-21T10:31:47",
"edited": "1970-01-01T01:00:00",
"from": "Username",
"from_id": 272964614,
"text": [
"Some Text ",
{
"type": "mention",
"text": "@school"
},
" Some Text"
]
}
我不知道在出现这种不一致性时如何反序列化数据。
另外,我还发现了这个数据集:
{
"id": 397904,
"type": "message",
"date": "2018-02-21T10:18:12",
"edited": "1970-01-01T01:00:00",
"from": "Username",
"from_id": 39033284,
"text": [
{
"type": "link",
"text": "google.com"
},
"\n\nSome Text"
]
}
当遇到这种不一致性时,我不知道如何反序列化数据。