[英]Extract array values from Dictionary<string, object>
I have this Json:我有这个 Json:
{
"DataType": "Calibration_Symptoms",
"playerHeight": 1.6739861965179443,
"armSpan": 1.572389006614685,
"calibratedHeadPosition": {
"x": 0.10129322111606598,
"y": 1.6739861965179443,
"z": -0.01975761353969574
},
"symptomSeverity": 0,
"scat5SymptomsQs": [1, 2, 3],
"rightHanded": true,
"rightFooted": true,
"testType": false,
"trialSymptomsQs": {
"Gait": [1, 2, 3],
"Balance1": []
}
}
I deserialized it with var values = JsonConvert.DeserializeObject<Dictionary<string, object>>(responseString);
我用var values = JsonConvert.DeserializeObject<Dictionary<string, object>>(responseString);
反序列化了它. .
I'm now trying to extract the array values in scat5SymptomsQs
.我现在正在尝试提取scat5SymptomsQs
中的数组值。 How do I do that?我怎么做?
Dictionary<string,object>
is a wrong type. Dictionary<string,object>
是错误的类型。 Create a class that represents the object.创建一个代表 object 的 class。
class Data
{
public List<int> scat5SymptomsQs { get; set; }
}
Then you can:那么你也能:
var o = JsonConvert.DeserializeObject<Data>(json);
If you don't want to create the object then please see LINQ to JSON .如果您不想创建 object,请参阅LINQ 至 JSON 。
using System.Linq;
using Newtonsoft.Json.Linq;
(...)
JObject o = JObject.Parse(json);
IList<int> x = o["scat5SymptomsQs"].Select(t => (int)t).ToList();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.