visual studio快速天生Json、XML对应类
在项目中常常用到json大概xml作为设置文件,举行序列化和反序列化就必要有对应的类,重新写一遍类就比力贫苦,这里就讲一下通过visual studio快速天生json大概xml对应范例的方法。
自动天生Json类
复制一个json文件,自动在visual studio中天生
复制Json文件
- {
- "DeviceLinks": [
- {
- "UID": "device01",
- "Ip": "127.0.0.1",
- "Port": 502,
- "SlaveId": 1,
- "AcqTimeSpan": 1
- },
- {
- "UID": "device02",
- "Ip": "127.0.0.1",
- "Port": 503,
- "SlaveId": 1,
- "AcqTimeSpan": 1
- }
- ],
- "MqttConfig": {
- "Ip": "127.0.0.1",
- "Port": 1883,
- "Username": "admin",
- "Password": "12345"
- },
- "ServiceConfig": {
- "PushTimeSpan": 5,
- "IsPushScheduled": true,
- "IsPushChanged": true
- }
- }
复制代码 切换到一个cs的类文件
必须在c#的cs文件中,才华看到编辑中对应的菜单
选择性粘贴
在菜单栏,“编辑”→“选择性粘贴”→将JSON粘贴为类
代码自动天生,会天生一个Rootobject为json的主类,子类也会一起天生,这里根据json字段界说,自动天生对应的子类
- public class Rootobject
- {
- public Devicelink[] DeviceLinks { get; set; }
- public Mqttconfig MqttConfig { get; set; }
- public Serviceconfig ServiceConfig { get; set; }
- }
- public class Mqttconfig
- {
- public string Ip { get; set; }
- public int Port { get; set; }
- public string Username { get; set; }
- public string Password { get; set; }
- }
- public class Serviceconfig
- {
- public int PushTimeSpan { get; set; }
- public bool IsPushScheduled { get; set; }
- public bool IsPushChanged { get; set; }
- }
- public class Devicelink
- {
- public string UID { get; set; }
- public string Ip { get; set; }
- public int Port { get; set; }
- public int SlaveId { get; set; }
- public int AcqTimeSpan { get; set; }
- }
复制代码 注意:转换巨细写,会跟随json文件,必要自己调解一下
自动天生XML类
步调一样,选择性粘贴中选择“将XML粘贴为类”
示例XML:
- <Configuration>
- <DeviceLinks>
- <DeviceLink>
- <UID>device01</UID>
- <Ip>127.0.0.1</Ip>
- <Port>502</Port>
- <SlaveId>1</SlaveId>
- <AcqTimeSpan>1</AcqTimeSpan>
- </DeviceLink>
- <DeviceLink>
- <UID>device02</UID>
- <Ip>127.0.0.1</Ip>
- <Port>503</Port>
- <SlaveId>1</SlaveId>
- <AcqTimeSpan>1</AcqTimeSpan>
- </DeviceLink>
- </DeviceLinks>
-
- <MqttConfig>
- <Ip>127.0.0.1</Ip>
- <Port>1883</Port>
- <Username>admin</Username>
- <Password>12345</Password>
- </MqttConfig>
-
- <ServiceConfig>
- <PushTimeSpan>5</PushTimeSpan>
- <IsPushScheduled>true</IsPushScheduled>
- <IsPushChanged>true</IsPushChanged>
- </ServiceConfig>
- </Configuration>
复制代码 天生效果
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金 |