我想填充一个datagridview (dgvNachrichten)。
它有两列("Datum"one_answers"Nachrichten")。
这是我的代码:
try
{
WebClient webClient = new WebClient();
webClient.DownloadFile(Config.URL_MAIN, @Environment.GetEnvironmentVariable("TEMP") + "\" + "temp.json");
StreamReader sr = new StreamReader(@Environment.GetEnvironmentVariable("TEMP") + "\" + "temp.json");
string line = sr.ReadToEnd();
var response = line;
var des = (MyClass)JsonConvert.DeserializeObject(response, typeof(MyClass));
dgvNachrichten.DataSource = des;
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
我的JSON是这样的:
{ "nachrichten": [ { "Nachricht": "text", "Datum": "datum" }, { "Nachricht": "text", "Datum": "datum" }, { "Nachricht": "text", "Datum": "datum" }, { "Nachricht": "text", "Datum": "datum" } ] }
下面是我的Classes:
public class MyClass
{
public List<Nachrichten_Felder> data { get; set; }
}
public class Nachrichten_Felder
{
public string Datum { get; set; }
public string Nachricht { get; set; }
}
下载工作正常,几秒钟后出现GridView表单,但没有内容…在我的JSON中带有"Datum"的部分必须出现在"Datum"列中(对于每个Datum都有一个新行),对于"Nachrichten"也是如此。
也许有人能帮我一下?必须将data
属性映射到json文件中的值:
public class MyClass
{
[JsonProperty("nachrichten")]
public List<Nachrichten_Felder> data { get; set; }
}
也绑定DataGridView
到集合:
dgvNachrichten.DataSource = des.data;
别忘了处理WebClient
和StreamReader