使用多个数据类型的键反序列化JSON文件

18 浏览
0 Comments

使用多个数据类型的键反序列化JSON文件

我想要分析Telegram聊天记录,所以我以JSON格式导出了一条聊天记录,并希望将其反序列化到我的分析软件中。

所以我使用了以下简单的代码来读取JSON数据:

List jsonObjects = 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"

]

}

当遇到这种不一致性时,我不知道如何反序列化数据。

0