如何在c#中访问反序列化Json对象的各个元素

本文关键字:对象 元素 Json 反序列化 访问 | 更新日期: 2023-09-27 17:50:12

我正在编写一个程序从http://api.fixer.io/latest?base=INR访问货币数据。我能够得到json数据,去实现它,并将其移动到一个var obj。

var obj = js.Deserialize<dynamic>(json);

现在我想访问obj中的所有汇率,即单独字段中的货币代码和货币值,并更新SQL。我不确定如何在obj上使用foreach或for循环。

我尝试使用以下代码,但它在第二次foreach循环中给出错误。

foreach (KeyValuePair<string, object> currency in obj)
{
    if (currency.Key == "rates")
    {
        foreach(KeyValuePair<string, double> i in currency.Value)
        {
            Console.WriteLine("{0} : {1}", currency.Key, currency.Value);
        }
    }
}

如何在c#中访问反序列化Json对象的各个元素

你不需要第二个foreach

foreach (KeyValuePair<string, object> currency in obj)
{
    if (currency.Key == "rates")
    {
        Console.WriteLine("{0} : {1}", currency.Key, currency.Value);
    }
}

您已经找到了您想要的货币