获取数据的C#正则表达式
大家好,我想用正则表达式从这个文件中获取json数据,这是我从web路由器获取的数据获取数据的C#正则表达式,c#,C#,大家好,我想用正则表达式从这个文件中获取json数据,这是我从web路由器获取的数据 // nvram={ “wan_域”:“, “wan_网关”:“10.10.1.1”, “wan_gateway_get”:“125.162.136.1”, “wan_get_domain”:“, “wan_主机名”:“Gatsu路由器”, ‘wan_hwaddr’:‘50:46:5D:00:C8:89’, “wan_ipaddr”:“125.162.138.160”, “wan_网络掩码”:“255.255
//
nvram={
“wan_域”:“,
“wan_网关”:“10.10.1.1”,
“wan_gateway_get”:“125.162.136.1”,
“wan_get_domain”:“,
“wan_主机名”:“Gatsu路由器”,
‘wan_hwaddr’:‘50:46:5D:00:C8:89’,
“wan_ipaddr”:“125.162.138.160”,
“wan_网络掩码”:“255.255.255.255”,
“wan_proto”:“pppoe”,
“wan_run_mtu”:“1492”,
“web_pb”:“};
//
wlstats=[{无线电:1,客户机:0,频道:3,mhz:2422,速率:144,ctrlsb:'none',nbw:20,rssi:0,噪声:-86,intf:0}
,{无线电:1,客户机:0,频道:149,兆赫:5745,速率:900,传输率:更低,nbw:40,rssi:0,噪声:-99,intf:0}
];代码>您可以使用它来解析来自路由器的数据。这比使用正则表达式更容易
根据shree.pat18的评论,下面是一个小的工作示例,说明如何使用它:
TestJson.cs:
using Newtonsoft.Json;
namespace TestConsole.TestClasses {
class RouterInfo {
[JsonProperty(PropertyName = "wan_gateway")]
public string Gateway { get; set; }
[JsonProperty(PropertyName = "wan_run_mtu")]
public int Mtu { get; set; }
// add here other fields
}
class JsonTest {
public void Test() {
string routerData = @"{
'wan_domain': '',
'wan_gateway': '10.10.1.1',
'wan_gateway_get': '125.162.136.1',
'wan_get_domain': '',
'wan_hostname': 'Gatsu-Router',
'wan_hwaddr': '50:46:5D:00:C8:89',
'wan_ipaddr': '125.162.138.160',
'wan_netmask': '255.255.255.255',
'wan_proto': 'pppoe',
'wan_run_mtu': '1492',
'web_pb': ''}";
RouterInfo info = JsonConvert.DeserializeObject<RouterInfo>(routerData);
// here you can work with RouterInfo "info" object
}
}
}
使用Newtonsoft.Json;
命名空间TestConsole.TestClasses{
类路由信息{
[JsonProperty(PropertyName=“wan\U网关”)]
公共字符串网关{get;set;}
[JsonProperty(PropertyName=“wan\u run\u mtu”)]
公共int Mtu{get;set;}
//在此处添加其他字段
}
类JsonTest{
公开无效测试(){
字符串routerData=@”{
“wan_域”:“,
“wan_网关”:“10.10.1.1”,
“wan_gateway_get”:“125.162.136.1”,
“wan_get_domain”:“,
“wan_主机名”:“Gatsu路由器”,
‘wan_hwaddr’:‘50:46:5D:00:C8:89’,
“wan_ipaddr”:“125.162.138.160”,
“wan_网络掩码”:“255.255.255.255”,
“wan_proto”:“pppoe”,
“wan_run_mtu”:“1492”,
“web_pb”:“}”;
RouterInfo info=JsonConvert.DeserializeObject(routerData);
//在这里,您可以使用RouterInfo“info”对象
}
}
}
你应该将JSON.NET库添加到你的项目中,使用NuGET来实现。
我意识到你可能没有足够的ReP来添加这个注释,但是如果你只提供链接到库的话,你应该考虑发布一个简短的代码示例。