[英]How to fetch keys from JSON in C#
JSON : JSON:
{"From":
{"CHF":{"Rate":0.91640105,"AsAtDate":"2016-04-19T00:00:00"},
"DKK":{"Rate":0.13437824,"AsAtDate":"2016-04-19T00:00:00"},
"EUR":{"Rate":1.0,"AsAtDate":"2016-04-19T00:00:00"},
"GBP":{"Rate":1.25985769,"AsAtDate":"2016-04-19T00:00:00"},
"PLN":{"Rate":0.23213581,"AsAtDate":"2016-04-19T00:00:00"},
"RON":{"Rate":0.22338218,"AsAtDate":"2016-04-19T00:00:00"},
"SEK":{"Rate":0.10868521,"AsAtDate":"2016-04-19T00:00:00"}},
"To":"EUR","RequestedDate":"2016-07-08T00:00:00"}
I want to fetch list of keys under from. 我想从中获取键列表。 Eg.
例如。 list should return keys all values like DKK, EUR,GBP .
list应该返回键,如DKK,EUR,GBP的所有值。 C# code is required to deserialize JSON.
反序列化JSON需要C#代码。
I am able to fetch values from JSON but not keys. 我能够从JSON获取值,但不能从键中获取值。
You can create classes to match your json Format, and then read the keys: 您可以创建与您的json格式匹配的类,然后阅读以下键:
public class CurrecyConversion
{
public Dictionary<string, CurrencyRate> From { set; get; }
public string To { set; get; }
public DateTime RequestedDate { set; get; }
}
public class CurrencyRate
{
public decimal Rate { set; get; }
public DateTime AsAtDate { set; get; }
}
You need to download this Nuget Package (Right Click Project > Manager Nuget Packages) 您需要下载此Nuget软件包 (右键单击“项目”>“ Manager Nuget软件包”)。
Usage: 用法:
CurrecyConversion result = Newtonsoft.Json.JsonConvert.
DeserializeObject<CurrecyConversion>(jsonText);
List<string> keys = result.From.Keys.ToList();
foreach (var key in keys)
Console.WriteLine(key);
Result: 结果:
CHF
DKK
EUR
GBP
PLN
RON
SEK
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.