我想決議以下 json
{
"status": 1,
"data": {
"xyz": [
[
3.5927680391473826,
0.5641835941824296,
-0.88546609584117
],
[
3.5885032091080853,
0.7537851201209402,
-0.9748245317650808
]
],
"xy": [
[
479,
32
],
[
435,
85
]
]
}
}
我正在使用以下代碼來做到這一點,
resultantData = JObject.Parse(inputString)
List<float> xyz = resultantData["data"]["xyz"].Value<List<List<float>>>();
List<int> xy = resultantData["data"]["xy"].Value<List<int>>();
不幸的是,上面的代碼無法正確決議 JSON。我錯過了什么?
uj5u.com熱心網友回復:
我認為你可以使用JsonConvert.DeserializeObject
var result = JsonConvert.DeserializeObject<Root>(inputString);
public partial class Root
{
[JsonProperty("status")]
public long Status { get; set; }
[JsonProperty("data")]
public Data Data { get; set; }
}
public partial class Data
{
[JsonProperty("xyz")]
public List<List<double>> Xyz { get; set; }
[JsonProperty("xy")]
public List<List<long>> Xy { get; set; }
}
uj5u.com熱心網友回復:
你有串列串列,而不僅僅是串列
List<List<float>> xyz = resultantData["data"]["xyz"].ToObject<List<List<float>>>();
List<List<int>> xy = resultantData["data"]["xy"].ToObject<List<List<int>>>();
你可以像這樣使用它
if (xyz != null && xyz.Count > 0)
{
List<float> xyz1 = xyz[0];
}
如果你想把所有東西都放在一堆,我認為這不是一個好主意,你必須試試這個
List<float> xyz = resultantData["data"]["xyz"].ToObject<List<List<float>>>()
.SelectMany(i=> i).ToList();
List<int> xy = resultantData["data"]["xy"].ToObject<List<List<int>>>()
.SelectMany(i=> i).ToList();
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/342524.html
