Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取数据的C#正则表达式_C# - Fatal编程技术网

获取数据的C#正则表达式

获取数据的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

大家好,我想用正则表达式从这个文件中获取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.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来添加这个注释,但是如果你只提供链接到库的话,你应该考虑发布一个简短的代码示例。