C# JSON反序列化对象显示0
你好,我在c#中遇到了一些问题(xamarin) 我遵循了XXX教程中关于Phashing的内容。。 我只需要价值。 有人能告诉我如何解决这个问题吗 我的Json:C# JSON反序列化对象显示0,c#,json,xamarin,C#,Json,Xamarin,你好,我在c#中遇到了一些问题(xamarin) 我遵循了XXX教程中关于Phashing的内容。。 我只需要价值。 有人能告诉我如何解决这个问题吗 我的Json: { "Header":{ "Version":5, "Device":"80", "Timestamp":1610066048 }, "Data":{
{
"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(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; }
}
公共类标题
{
公共int版本{get;set;}
公共字符串设备{get;set;}
公共int时间戳{get;set;}
}
公共类价值1
{
公共字符串值{get;set;}
公共字符串单元{get;set;}
}
公共类输入
{
公共整数{get;set;}
公共字符串AD{get;set;}
公共价值1值{get;set;}
}
公共类数据
{
公共列表输入{get;set;}
}
公共类根
{
公共标头{get;set;}
公共数据数据{get;set;}
公共字符串状态{get;set;}
公共int状态码{get;set;}
}
谢谢,希望大家过得愉快。您应该将json反序列化为
根类:
var root = JsonConvert.DeserializeObject<Root>(json);
您应该将json反序列化为Root
类:
var root = JsonConvert.DeserializeObject<Root>(json);
反序列化根对象并跟踪值:
Root news = JsonConvert.DeserializeObject<Root>(json);
Ausgabe.Text = news.Data.Inputs[0].Value.Value;
Root news=JsonConvert.DeserializeObject(json);
Ausgabe.Text=news.Data.Inputs[0].Value.Value;
反序列化根对象并跟踪值:
Root news = JsonConvert.DeserializeObject<Root>(json);
Ausgabe.Text = news.Data.Inputs[0].Value.Value;
Root news=JsonConvert.DeserializeObject(json);
Ausgabe.Text=news.Data.Inputs[0].Value.Value;
您是否尝试将Value1
重命名为Value
?您是指公共类Value1->公共类值?是的,我指的是该类。然后我在(公共字符串值{get;set;})值处出错:成员名称不能是封闭类型您是否尝试将Value1
重命名为Value
?您是指公共类Value1->公共类值?是的,我指的是该类。然后在(公共字符串值{get;set;})值处出现错误:成员名称不能是封闭类型当我这样做时,我没有得到Ausgabe.Text=news.Value“我没有得到
是什么意思?你有一个例外?还有为什么Value1.Value
是字符串而不是数字?当我这样做时,我得到*对不起。当我得到时,我没有得到”Ausgabe.Text=news.Value“我不明白的是什么意思?你有例外吗?还有为什么Value1.Value
是字符串而不是数字?当我这样做时,我感到很抱歉。