如何获得JSON格式+C#的标签
本文关键字:标签 +C# 格式 何获得 JSON | 更新日期: 2023-09-27 17:57:27
我有一个json格式的文件,如下所示,包含10项:
"items": [
{
"kind": "Test#result",
"cacheId": "PR1wQp1jFRQJ",
"pagemap": {
"person": [
{
"location": "Greater Minneapolis-St. Paul Area",
"role": "Test at Test"
}
],
"metatags": [
{
"lnkd-track-json-lib": "test",
}
],
"hcard": [
{
"title": "Wealth Advisor at XXX",
"photo": "contag.jpg"
},
{
"fn": "Unviersity of XXXX"
},
]
}
},
NEXT ITEM....
]
我使用下面的代码从这个JSON中获取每个项目:
string result = webClient.DownloadString(String.Format("aurl.com?alt=json"));
JavaScriptSerializer serializer = new JavaScriptSerializer();
Dictionary<string, object> collection = serializer.Deserialize<Dictionary<string, object>>(result);
foreach (Dictionary<string, object> item in (IEnumerable)collection["items"])
{
Console.WriteLine("Title: {0}", item["kind"]);
Console.WriteLine("Role: {0}", ??);
Console.WriteLine();
}
如何使用我的逻辑从JSON中获取"角色"和位置?我用C#来写它。
我首先要创建一个类来表示数据,然后使用序列化程序来创建该类。
class items
{
public string kind {get;set;}
public string cacheId {get;set;}
public string pagemap {get;set;}
public person person {get;set;}
}
class person
{
public string location {get;set;}
public string role {get;set;}
}
等等…
然后。。。
string jsonInput="have your valid json input here"; //
JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
items objItems = jsonSerializer.Deserialize<items>(jsonInput)
我们现在可以像调用类中的任何其他对象一样调用我们的项。
items.kind
items.cacheId
items.person.location
它们的关键是为以后更容易访问数据奠定基础。