如何解决使用 C# 解析 JSON
我正在通过 python 从 Twitter API 中提取 Twitter 数据。它正在拉回数据并将其放入文本文件中。我想使用 C# 来解析文件,但我遇到了一些问题。我正在使用 JsonSerializer 来运行它。我有一个单独的 JSON 项目类,但是当我创建类并浏览 JSON 文件时,我意识到了两件事。 JSON 文件中的每个字段都需要在类中,并且需要按顺序排列。这条推文中有 100 多个项目,看起来它们是动态的,具体取决于内容。如何轻松解析文件而不必在 Twitter 类中创建 100 个项目?下面是代码和示例数据。
public class TwitterItems
{
}
static void Main(string[] args)
{
TwitterItems twitList = JsonConvert.DeserializeObject<TwitterItems>(File.ReadAllText(@"C:\Users\soliver\Documents\VS Code\twitter_test\tweets.txt"));
using (StreamReader file = File.OpenText(@"C:\Users\soliver\Documents\VS Code\twitter_test\tweets.txt"))
{
JsonSerializer serializer = new JsonSerializer();
TwitterItems twitListDeserialized = (TwitterItems)serializer.Deserialize(file,typeof(TwitterItems));
}
}
解决方法
您走在正确的轨道上,您需要建立一个班级。您只需要在 Twitter 推文数据模型中包含您关心的字段,如下例所示。但是,您需要确保使用 JsonProperty 并将名称设置为 Twitter 在其数据模型中的名称
public class Tweet
{
[JsonProperty("author_id")]
public string AuthorId {get; set;}
[JsonProperty("text")]
public string Text {get; set;}
}
然后不是将所有推文反序列化为一个数据模型,而是将它们反序列化为推文列表。
var tweets = JsonConvert.DeserializeObject<List<Tweet>>(File.ReadAllText(@"C:\Users\soliver\Documents\VS Code\twitter_test\tweets.txt"));
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。