C#从本地URL接收json数据并将其放在表中的最佳方法?

问题描述 投票:0回答:1

我有一个python脚本正在创建json文件,例如{{temperature“:25}。我从Sense HAT温度传感器获取数据。我已经使用oxyplot制作了图表,但是我仍然无法制作表格。根据采样时间,数据将每500ms左右更改一次,并且.json文件将被覆盖。获取文件并将结果存储在表中的最佳方法是什么?

我已经尝试过类似的操作,但是效果不佳。我添加了using (Webclient wc = new WebClient())并尝试下载在这里找到的方法String,但是它不适用于我。

这是我的EnvView.xaml.cs文件。在xaml中,我有2个标签,一个用于图形,另一个用于表格。我正在尝试实现DataGrid,并且在加载DataGrid时会生成表。在我有.cs脚本的ViewModel文件夹中,我还没有进行任何配置,因为我只是想知道这样做的想法。我是C#的新手。

public void EnvTable()
        {
            DataTable dt = new DataTable();
            DataColumn tempp = new DataColumn("Temperature", typeof(string));

            string url = "http://myip/web_app/measurements/tempValues.json";

            dt.Columns.Add(tempp);

            DataRow firstRow = dt.NewRow();
            firstRow[0] = "*C";

            dt.Rows.Add(firstRow);

            DataGridEnv.ItemsSource = dt.DefaultView;
        }

        private void DataGridEnv_Loaded(object sender, RoutedEventArgs e)
        {
            this.EnvTable();
        }

EnvView.xaml

<TabItem Header="Table">
                <DataGrid x:Name="DataGridEnv" Loaded="DataGridEnv_Loaded"/>
</TabItem>

我只想有一个简单的表,该表可能有一个开始收集数据的按钮,但不需要它。

c# json post webclient
1个回答
0
投票

[使用序列化器/解串器,例如Newtonsoft

然后像这样使用它:

YourClass data = JsonConvert.DeserializeObject<YourClass>(text);

您还可以反序列化列表,字典,键值对等。有时不必创建新类。

然后,如果需要在数据表中使用它,则可以创建一个扩展方法,例如this

© www.soinside.com 2019 - 2024. All rights reserved.