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