【发布时间】:2019-01-13 08:00:01
【问题描述】:
我已经尝试让这个工作 4 天了,但我似乎无法弄清楚。我通过 api 接收一个 json 字符串,并希望将数据解析为不同的字符串和整数:
Json 字符串示例:
"[{\"Entry_number\":\"4\",\"Entry_date\":\"2019-01-10 18:22:55\",\"Customer_number\":\"16\",\"Entry_value\":\"13\",\"Comment\":\"Nu gaat ie t GVD doen\"},
{\"Entry_number\":\"5\",\"Entry_date\":\"2019-01-12 14:34:23\",\"Customer_number\":\"16\",\"Entry_value\":\"10\",\"Comment\":\"TextBox\"},
{\"Entry_number\":\"6\",\"Entry_date\":\"2019-01-12 14:34:31\",\"Customer_number\":\"16\",\"Entry_value\":\"10\",\"Comment\":\"Onrustig\"},
{\"Entry_number\":\"7\",\"Entry_date\":\"2019-01-12 14:34:37\",\"Customer_number\":\"16\",\"Entry_value\":\"10\",\"Comment\":\"Ziek\"}]"
我想转换成什么:
public class SleepEntry
{
string Entry_number;
string Entry_date;
string Customer_number;
string Entry_value;
string Comment;
public string Entry_number1 { get => Entry_number; set => Entry_number = value; }
public string Entry_date1 { get => Entry_date; set => Entry_date = value; }
public string Customer_number1 { get => Customer_number; set => Customer_number = value; }
public string Entry_value1 { get => Entry_value; set => Entry_value = value; }
public string Comment1 { get => Comment; set => Comment = value; }
}
public class SleepData
{
private List<SleepEntry> plants;
public List<SleepEntry> Plants { get => plants; set => plants = value; }
}
读取 json 的代码:
public void Get_Monthly_Data()
{
StreamReader reader = new StreamReader(@"C:\Users\Ruben\source\repos\Health App Goede\Health App Goede\Resources\Cutstomer_ID.txt");
Customernumber = reader.ReadLine();
reader.Close();
//string json = entrys();
//convert json to series objects
SleepData sleepdata = JsonConvert.DeserializeObject<SleepData>(entrys());
}
public string entrys()
{
string json = get.get_customer_monitoring_entry("sleep", Customernumber);
return json;
}
现在我想尝试检查每个条目是否是本周。然后从本周获取每个条目的 Entry_value,现在将其显示在文本框中。任何帮助或提示将不胜感激。
【问题讨论】:
-
你试过
SleepData[] sleepdata = JsonConvert.DeserializeObject<SleepData[]>(entrys());吗?您展示的示例数据是一个数组([ { ... }, { ... } ]) -
"现在我想尝试检查每个条目是否是本周的数据。然后从本周获取每个条目的 Entry_value 并暂时将其显示在文本框中" - 你能说一下吗这部分?
-
@Mathias 这似乎有效,但我该如何专门为所有条目显示 sleepdata.Entry_Value?
-
您可以使用 for 或 foreach 循环遍历数组。如果您只对第一个感兴趣,您也可以发送
sleepdata.FirstOrDefault()