我从网络服务得到以下响应:
{
"data":{
"foo.hugo.info": {
"path": "logon.cgi",
"minVersion": 1,
"maxVersion": 2
},
"foo.Fritz.Task": {
"path": "Fritz/process.cgi",
"minVersion": 1,
"maxVersion": 1
}
},
"success": true
}
反序列化的 json 对象看起来如何?
或者有其他方法获取属性的值吗?
最佳答案
随着 JSON.NET
库非常简单:
public class Root
{
public Dictionary<string, Data> Data { get; set; }
public bool Success { get; set; }
}
public class Data
{
public string Path { get; set; }
public int MinVersion { get; set; }
public int MaxVersion { get; set; }
}
然后:
string json =
@"{
""data"":{
""foo.hugo.info"": {
""path"": ""logon.cgi"",
""minVersion"": 1,
""maxVersion"": 2
},
""foo.Fritz.Task"": {
""path"": ""Fritz/process.cgi"",
""minVersion"": 1,
""maxVersion"": 1
}
},
""success"": true
}";
Root root = JsonConvert.DeserializeObject<Root>(json);
在此示例中,我使用了 Dictionary<string, Data>
对象对 2 个复杂键(foo.hugo.info
和 foo.Fritz.Task
)建模,因为它们包含不能在 .NET 成员中使用的名称。
关于c# - 如何从json创建一个c#对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18514470/