{
"PORT" : {
"Ethernet0": {
"id": 0
},
"Ethernet1": {
"id" : 1
}
}
}
鉴于上述 JSON,如何获取
PORT
下与 Ethernet*
模式匹配的所有对象?我在网上或在 JSON.Net 测试用例中看到的大多数示例都展示了基于数组的示例。
我正在使用
JToken.SelectTokens
API。我认为查询应该如下所示。但这不起作用。非常感谢任何帮助!
$.PORT.[?(@ =~ /Ethernet\d+/)]
你可以这样做
$.PORT.*
会得到port的所有孩子。
'PORT': {
'Ethernet0': { 'id': 0 },
'Ethernet1': { 'id': 1 }
}
}";
JObject jObject = JObject.Parse(json);
// Use SelectTokens to get all Ethernet objects
IEnumerable<JToken> ethernetObjects = jObject.SelectTokens("$.PORT.*");
foreach (JToken ethernet in ethernetObjects)
{
Console.WriteLine(ethernet);
}