如何解决嵌套json解析并从所有循环重新运行键
我有一个嵌套的JSON。我想从所有循环中获取一个密钥。密钥名称是传感器。最后我想从json中获取所有传感器的名称和值
API Server
我尝试了以下代码
var p= "{
"info":{
"23423424234":{
"id":"23423424234","sensors":{
"2523532523":{
"Name":"test","Frequency":"1"
},"46546456456":{
"Name":"test1","Frequency":"5"
}
}
}
},"vol":{
"568768678678":{
"id":"568768678678","sensors":{
"67867867867":{
"Name":"test1","65474574754":{
"Name":"test8","Frequency":"5"
}
}
}
}
}"
但是它陷入了最终循环,我无法从每个循环中获取名称和频率
解决方法
您可以尝试一下
public class Sensor
{
public string Name { get; set; }
public string Frequency { get; set; }
}
var json = File.ReadAllText("json1.json");
var sensorsToken = JToken.Parse(json).SelectTokens("$..sensors").ToList();
var sensorJson = JsonConvert.SerializeObject(sensorsToken);
var sensorsList = JsonConvert.DeserializeObject<List<Dictionary<string,Sensor>>>(sensorJson);
sensorsList.ForEach(d =>
{
foreach (var sensor in d.Values)
{
Console.WriteLine($"Parent Info: {d.Keys.First()}");
Console.WriteLine($"Name: {sensor.Name}");
Console.WriteLine($"Frequency: {sensor.Frequency}");
}
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。