"rain":{"3h":0.46}
在这种情况下,'rain'有'3h'对象,但是这个名字是动态的,所以我不能用JsonConvert反序列化它,那么在类中用这个名字定义什么?
Json2Csharp给我这个代码
public class Rain
{
public double __invalid_name__3h { get; set; }
}
答案 0 :(得分:2)
javascript(以及JSON)中的对象只是字典。由于您不知道属性名称(更重要的是,因为它以C#中禁止的数字开头),您只需使用字典:
public class MyThing
{
public Dictionary<string, double> rain { get; set; }
}
但是,您的JSON不完整。它应该是:
{"rain":{"3h":0.46}}
全力以赴:
void Main()
{
var json = @"{""rain"":{""3h"":0.46}}";
var result = JsonConvert.DeserializeObject<MyThing>(json);
}
public class MyThing
{
public Dictionary<string, double> rain { get; set; }
}