"port_list": {
"5985": {
"structinfo": "",
"protocol": "http",
"dbs": {
"DbSize": 0,
"Count": 0,
"Records": 0
},
"port": "5985",
"versions": [
"Microsoft-HTTPAPI : 2.0"
],
"ip": "10.122.5.154",
},
"135": {
"structinfo": "",
"protocol": "decrpc",
"dbs": {
"DbSize": 0,
"Count": 0,
"Records": 0
},
"port": "135",
"ip": "10.122.5.154",
"banner": "",
"time": "2019-05-14 20:50:09 +0800",
"port_state": "open",
"status": "success"
},
"137": {
"structinfo": "",
"netbios_name": "WIN-9PBV4405K7V",
"protocol": "netbios",
"dbs": {
"DbSize": 0,
"Count": 0,
"Records": 0
},
"port": "137",
"ip": "10.122.5.154",
"banner": "",
"time": "2019-05-14 20:25:35 +0800",
"port_state": "open",
"mac": "6c:0b:84:b8:14:31",
"status": "success"
},
"3389": {
"structinfo": "",
"protocol": "rdp",
"dbs": {
"DbSize": 0,
"Count": 0,
"Records": 0
},
"port": "3389",
"ip": "10.122.5.154",
"banner": "",
"time": "2019-05-14 20:40:56 +0800",
"port_state": "open",
"status": "success"
}
}请教,这样的Json串,用C#反序列化,对于结构均相同,只名称不同的每个端口,应该如何声明同一个类,能把所有端口的Json串都反序列化出来。
"5985": {
"structinfo": "",
"protocol": "http",
"dbs": {
"DbSize": 0,
"Count": 0,
"Records": 0
},
"port": "5985",
"versions": [
"Microsoft-HTTPAPI : 2.0"
],
"ip": "10.122.5.154",
},
"135": {
"structinfo": "",
"protocol": "decrpc",
"dbs": {
"DbSize": 0,
"Count": 0,
"Records": 0
},
"port": "135",
"ip": "10.122.5.154",
"banner": "",
"time": "2019-05-14 20:50:09 +0800",
"port_state": "open",
"status": "success"
},
"137": {
"structinfo": "",
"netbios_name": "WIN-9PBV4405K7V",
"protocol": "netbios",
"dbs": {
"DbSize": 0,
"Count": 0,
"Records": 0
},
"port": "137",
"ip": "10.122.5.154",
"banner": "",
"time": "2019-05-14 20:25:35 +0800",
"port_state": "open",
"mac": "6c:0b:84:b8:14:31",
"status": "success"
},
"3389": {
"structinfo": "",
"protocol": "rdp",
"dbs": {
"DbSize": 0,
"Count": 0,
"Records": 0
},
"port": "3389",
"ip": "10.122.5.154",
"banner": "",
"time": "2019-05-14 20:40:56 +0800",
"port_state": "open",
"status": "success"
}
}请教,这样的Json串,用C#反序列化,对于结构均相同,只名称不同的每个端口,应该如何声明同一个类,能把所有端口的Json串都反序列化出来。
解决方案 »
- 出现应用程序未处理的异常/n异常类型:AccessViolationException/n异常消息:尝试读取或写入受保护的内存。这通常指示其他内存已损坏
- C# 动态添加控件的疑问?
- C#写计算器,键盘keypress关联鼠标click点击事件,只响应数字按键,无法响应加,减,乘,除,小数点按键.
- 高手赐教关于用FrontPage RPC列更新的问题
- 有个语句看不懂?
- 菜鸟提问,如何实现数据库的相对路径设置???
- 江湖救急--磁盘阵列。。。。。
- 一个简单的数据库访问问题,请大侠们多帮忙呀
- 如何做基于VS2005的新编程语言的IDE,类似VS.PHP
- 开发C#的环境
- C# chart 怎么绘制多个Y轴?
- C#for语句问题 CS0103
dynamic obj = JsonConvert.DeserializeObject(json);
public class PortList
{
public Dictionary<string, dynamic> prot_list { get; set; }
}public void GetPortList()
{
var strJson=""; //json字符串
var json = JsonConvert.DeserializeObject<PortList>(strJson);
foreach (var item in json.prot_list)
{
Console.WriteLine(item.Key); //端口号
Console.WriteLine(item.Value.structinfo);
Console.WriteLine(item.Value.protocol);
Console.WriteLine(item.Value.port);
}
}