C# JSON反序列化对象显示0

C# JSON反序列化对象显示0,c#,json,xamarin,C#,Json,Xamarin,你好,我在c#中遇到了一些问题(xamarin) 我遵循了XXX教程中关于Phashing的内容。。 我只需要价值。 有人能告诉我如何解决这个问题吗 我的Json: { "Header":{ "Version":5, "Device":"80", "Timestamp":1610066048 }, "Data":{

你好,我在c#中遇到了一些问题(xamarin) 我遵循了XXX教程中关于Phashing的内容。。 我只需要价值。 有人能告诉我如何解决这个问题吗

我的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(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
是字符串而不是数字?当我这样做时,我感到很抱歉。