【问题标题】:How to access the individual elements of a deserialized Json object in c#?如何在 C# 中访问反序列化 Json 对象的各个元素?
【发布时间】:2015-05-21 12:33:59
【问题描述】:

我正在编写一个程序来访问来自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# arrays json deserialization


    【解决方案1】:

    你不需要第二个 foreach。

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

    你已经找到了你想要的货币。

    【讨论】:

    • 第一个for循环只给我
    • 在这种情况下,它返回费率:System.Collections.Generic.Dictionary'2[System.String.System.Object]。我需要访问 31 种货币。
    猜你喜欢
    • 1970-01-01
    • 2015-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多