问题描述
你好,我在 c#(xamarin) 中遇到了一些问题 我遵循了有关分相的 XXX 教程。 我只需要价值。 有人能告诉我我是如何解决这个问题的吗?
我的 Json:
{
"Header":{
"Version":5,"Device":"80","Timestamp":1610066048
},"Data":{
"Inputs":[
{
"Number":2,"AD":"A","Value":{
"Value":62.0,"Unit":"1"
}
}
]
},"Status":"OK","Status code":0
}
C#
var client = new WebClient();
string json = client.DownloadString("https://XXXXXXX.com/heizung.PHP");
Value1 news = JsonConvert.DeserializeObject<Value1>(json);
Ausgabe.Text = news.Value;
我的班级
public class Header
{
public int Version { get; set; }
public string Device { get; set; }
public int Timestamp { get; set; }
}
public class Value1
{
public string Value { get; set; }
public string Unit { get; set; }
}
public class Input
{
public int Number { get; set; }
public string AD { get; set; }
public Value1 Value { get; set; }
}
public class Data
{
public List<Input> Inputs { get; set; }
}
public class Root
{
public Header Header { get; set; }
public Data Data { get; set; }
public string Status { get; set; }
public int Statuscode { get; set; }
}
谢谢,我希望你们都有美好的一天。
解决方法
反序列化根对象并跟踪值:
Root news = JsonConvert.DeserializeObject<Root>(json);
Ausgabe.Text = news.Data.Inputs[0].Value.Value;
,
您应该将 json 反序列化为 Root
类:
var root = JsonConvert.DeserializeObject<Root>(json);
根对象反序列化后,您可以选择所需的任何值。例如:
var values = root.Data.Inputs.Select(i => i.Value.Value); // string sequence