Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在c中将Json字符串转换为Json#_C#_Json.net - Fatal编程技术网

C# 在c中将Json字符串转换为Json#

C# 在c中将Json字符串转换为Json#,c#,json.net,C#,Json.net,我是NewtonJson的新手,我有一个问题,所以我相信它很容易解决,但我现在找不到解决方案。我的问题是: 我有这样一个json字符串: { "status": true, "returnData": { "rateInfos": [ { "ctm": 1595872800000, "ct

我是NewtonJson的新手,我有一个问题,所以我相信它很容易解决,但我现在找不到解决方案。我的问题是:

我有这样一个json字符串:

{
    "status": true,
    "returnData": {
        "rateInfos": [
            {
                "ctm": 1595872800000,
                "ctmString": "Jul 27, 2020 8:00:00 PM",
                "open": 117551,
                "close": 35,
                "high": 43,
                "low": 0,
                "vol": 5428
            },
            {
                "ctm": 1595873100000,
                "ctmString": "Jul 27, 2020 8:05:00 PM",
                "open": 117588,
                "close": -8,
                "high": 15,
                "low": -8,
                "vol": 3326
            }
            
        ],
        "digits": 5,
        "exemode": 1
    }
}
我想通过以下方式获得“rateInfos”的价值:

但我真的可以在块{},{}之后得到rateInfos的值。。 你对这个案子有什么想法吗? 谢谢

再见,请尝试以下代码:

string json = @"{
"status": true,
"returnData": {
    "rateInfos": [
        {
            "ctm": 1595872800000,
            "ctmString": "Jul 27, 2020 8:00:00 PM",
            "open": 117551,
            "close": 35,
            "high": 43,
            "low": 0,
            "vol": 5428
        },
        {
            "ctm": 1595873100000,
            "ctmString": "Jul 27, 2020 8:05:00 PM",
            "open": 117588,
            "close": -8,
            "high": 15,
            "low": -8,
            "vol": 3326
        }
        
    ],
    "digits": 5,
    "exemode": 1
}
}";
dynamic result = JsonConvert.DeserializeObject(json);
foreach (var item in result["returnData"]["rateInfos"])
{
   Console.WriteLine("{0} {1} {2} {3} {4} {5} {6}", item.ctm, item.ctmString, item.open, item.close, item.high, item.low, item.vol);
}

看看您的json数据。具体来说,在结构上。您的根对象不包含属性
rateInfos
——它包含属性
returnData
,该属性包含
rateInfos
。试着访问它。不过,最好的方法是:在代码中将数据结构定义为类,这样您就可以反序列化为强类型对象。是的,动态功能非常强大,在这种情况下使事情变得非常简单。如果你能把答案标记为有效,我会非常感激。祝你今天愉快:)
string json = @"{
"status": true,
"returnData": {
    "rateInfos": [
        {
            "ctm": 1595872800000,
            "ctmString": "Jul 27, 2020 8:00:00 PM",
            "open": 117551,
            "close": 35,
            "high": 43,
            "low": 0,
            "vol": 5428
        },
        {
            "ctm": 1595873100000,
            "ctmString": "Jul 27, 2020 8:05:00 PM",
            "open": 117588,
            "close": -8,
            "high": 15,
            "low": -8,
            "vol": 3326
        }
        
    ],
    "digits": 5,
    "exemode": 1
}
}";
dynamic result = JsonConvert.DeserializeObject(json);
foreach (var item in result["returnData"]["rateInfos"])
{
   Console.WriteLine("{0} {1} {2} {3} {4} {5} {6}", item.ctm, item.ctmString, item.open, item.close, item.high, item.low, item.vol);
}