我已在此问过:sample
但现在我有一个不同的json格式:
{
"response": "success",
"example" :{
"001":{
"ID":"001",
"Name":"Test1"
},
"002":{
"ID": "002",
"Name": "test2"
}
},
"reference": "google.com"
}
我的问题是如何访问Name
:
答案 0 :(得分:0)
您只需要在string
课程中添加几个Response
成员。
大多数情况下,代码根本没有改变
您甚至可以使用之前的代码解析此对象 - 您将丢失response
和reference
值。
public class Response
{
public string response { get; set; }
public Dictionary<string, ExampleObj> example { get; set; }
public string reference { get; set;}
}
public class ExampleObj {
public string ID { get; set; }
public string Name { get; set; }
}
// Somewhere in code
string jsonString = "{ \"response\": \"success\", \"example\" :{ \"001\":{ \"ID\":\"001\", \"Name\":\"Test1\" }, \"002\":{ \"ID\": \"002\", \"Name\": \"test2\" } }, \"reference\": \"google.com\"}";
var obj = JsonConvert.DeserializeObject<Response>(jsonString);
foreach (var keyValuePair in obj.example)
{
Console.WriteLine("That's a {0}", keyValuePair.Key);
Console.WriteLine("It's name is {0}", keyValuePair.Value.Name);
}
Console.WriteLine("And, Hey! That's a reference '{0}' and response '{1}'", obj.reference, obj.response);
我希望你每次需要向一个类添加一个变量时都不会问一个问题。您应该尝试自己理解它:阅读文档,谷歌了解具体的理论问题而不是实际的解决方案,尝试自己做。这是成为软件工程师的唯一途径。