【发布时间】:2018-10-10 07:12:59
【问题描述】:
我想从嵌套的 JSON 文件中读取属性名称并将其更新为 Windows 表单中的组合框。这就是我的 JSON 文件的嵌套方式,
{
"Configurations": {
"Tr984": {
"Operations": {
"pressure": {
"speed": 1000,
"IpAddress": "*****",
"TcpPort": ***,
"UnitId": ****,
and so on..
},
"Engage":{
"Interval": 1000,
"IpAddress": "****",
"TcpPort": ***,
"UnitId": ****,
and so on..
},
"Volume": {
"density": 1000,
"IpAddress": "****",
"Port": 8888,
"
}
}
}
}
我想访问所有键名Pressure,Engage,Volume 并将其添加到comboBox1,动态地。目前我正在使用每个循环来到达最里面的键、值对和无法仅获取上述属性。由于我是 C# 编码的初学者,您能帮我解决这个问题吗?
private void comboBox1_Click(object sender,EventArgs e)
{
using (StreamReader r = new StreamReader(@"**********"))
{
var json = r.ReadToEnd();
var jobj = JObject.Parse(json);
foreach (var item in jobj.Properties())
foreach (var item2 in item.Value)
foreach (var item3 in item2)
foreach (var item4 in item3)
foreach (var rawTags in item4)
foreach (var pair in rawTags)
foreach (var value in pair)
{
string propName=Convert.ToString(value.Next);
comboBox1.Items.Add(propName);
}
}
}
【问题讨论】:
-
递归方法怎么样?
-
我知道使用很多这样的 foreach 循环不是一个好习惯,所以您能否建议如何获取上述属性名称?