c# - 如何在 UWP C# 应用程序中仅访问 JSON 文本的一部分?
问题描述
我正在尝试创建我的第一个 UWP C# 应用程序。单击名为“Button”的按钮时,JSON 将显示在名为“TextBox”的文本框中。
我正在尝试弄清楚如何仅访问 JSON 文本的一部分(data.best_day.text),例如(在 JavaScript 中)data.best_day.text将需要 18 小时 3 分钟。我想为这个 UWP 应用做同样的事情。我已经阅读了一些资源,但它们不起作用或太复杂而无法理解。任何帮助将不胜感激。:)
// The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409
namespace WakaTime
{
/// <summary>
/// An empty page that can be used on its own or navigated to within a Frame.
/// </summary>
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
}
private async void Button_Click(object sender, RoutedEventArgs e)
{
var client = new HttpClient();
var text = await client.GetStringAsync("https://wakatime.com/share/@DontBugMie/bef7afe4-102d-47a9-9678-6335510ebedd.json");
TextBox.Text = text;
}
}
}
解决方案
如果你对这条路有信心,试试这个
using System.Text.Json;
...
var jsonDoc = JsonDocument.Parse(text);
var best_day = jsonDoc.RootElement.GetProperty("data").GetProperty("best_day").GetProperty("text").GetString();
TextBox.Text = best_day;
如果您需要多个值,那么最好创建一个模型(DTO)并反序列化它
推荐阅读
- terraform - Terraform - 访问 SSM 参数存储值访问
- mysql - 使用 DML 语句作为一个整体而不是部分地操作数据库中的数据
- coldfusion - 如何使用coldfusion获取雅虎天气信息
- expo - 是否可以通过 Expo 将 web url 转换为应用程序
- python - 使用 BeautifulSoup 在预标记中抓取文本
- tensorflow - Tensorflow warning: two cells provided to MultiRNNCell are the same object
- image - How to always show inline images?
- html - 仅使用 css 将 div 增加到一个方向
- r - how to count the number of event on one data.frame based on time period on another data.frame
- c# - 使用用户名和密码连接 gmail api