在ASP.Net MVC中将JSON转换为C#类
发布时间:2020-12-16 03:23:17 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试编写一个API – 其网站上显示的预期输出(针对第三方)是下面的 JSON: {"api_version" : 4,"hotel_ids" : [97497],"hotels" : [ { "hotel_id": 97497,"room_types": { "Fenway Room": { "url": "someurlhere","price": 178.50,"room_code": "SINGLE
我正在尝试编写一个API – 其网站上显示的预期输出(针对第三方)是下面的
JSON:
{ "api_version" : 4,"hotel_ids" : [97497],"hotels" : [ { "hotel_id": 97497,"room_types": { "Fenway Room": { "url": "someurlhere","price": 178.50,"room_code": "SINGLE" } } } ] } 我正在使用在线工具:http://json2csharp.com/ 它给了我以下课程: public class FenwayRoom { public string url { get; set; } public double price { get; set; } public string room_code { get; set; } } public class RoomTypes { public FenwayRoom __invalid_name__Fenway Room { get; set; } } public class Hotel { public int hotel_id { get; set; } public RoomTypes room_types { get; set; } } public class RootObject { public int api_version { get; set; } public List<int> hotel_ids { get; set; } public List<Hotel> hotels { get; set; } } 您可以在RoomTypes中看到: FenwayRoom __invalid_name__Fenway Room {get;组; } 我想知道他们的JSON规范是否错误,或者我有没有办法创建类来返回他们期望的JSON? 在这个例子中,我认为房间类型“Fenway Room”是一个变量 – 所以我不认为它也可以是一个类名.但可能只是因为我不知道如何创建这样的类. 我只是无法弄清楚“芬威室” – 我认为它需要有类似的东西:“房间名称”:“芬威室” – 但也许还有另一种定义类的方法,因此它不需要标签“房间名称”. 我非常感谢您确认是否可以创建与JSON相匹配的类. 谢谢,马克 解决方法
使用Json.NET时的输出
"room_types": { "Fenway Room": { "url": "someurlhere","room_code": "SINGLE" } } } 看看你将序列化一个词典的确切内容. 把你的班级改为 public class Room { public string url { get; set; } public double price { get; set; } public string room_code { get; set; } } public class Hotel { public int hotel_id { get; set; } public Dictionary<string,Room> room_types { get; set; } } public class RootObject { public int api_version { get; set; } public List<int> hotel_ids { get; set; } public List<Hotel> hotels { get; set; } } 这完全取决于使用Json.NET,它可以免费为您提供此格式的字典序列化/反序列化.您可以使用.NET框架序列化程序执行此操作,但您需要执行额外的工作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 如何在Button Click事件上调用此Jquery函数?
- IIS部署asp.net mvc网站的方法
- asp.net-core – .NET Core HttpClient是否具有拦截器的概念
- asp.net-mvc – ASP.NET MVC多站点SSO使用OpenID
- asp.net – 如何忽略Model属性的验证?
- asp.net-mvc – 如何在asp.net MVC 4和Razor视图中显示路径
- asp.net-mvc – 具有指定Controller和Action的Html.BeginFo
- asp.net – Ext.net:如何设置宽度百分比而不是像素?
- asp.net – 如何使用HTML5电子邮件输入类型与服务器端.NET
- asp.net-mvc – MVC 4在局部视图中使用分页列表
推荐文章
站长推荐
- asp.net-mvc-3 – Foreach ViewBag数据给出’对象
- asp.net-mvc – 获取控制器和操作的完全限定URL?
- asp.net-mvc – 有没有合理的大型Web应用程序(例
- 经典ASP会话ID Cookie生命周期
- asp.net – 导致GridView无效回发的TemplateFiel
- .Net Core微服务入门全纪录(一)——项目搭建
- asp.net-core – 如何将IHttpContextAccessor注入
- asp.net – 多重约束违反.关系“…”的角色“…”
- asp.net-mvc – 没有CreateMap的简单转换时的Aut
- asp.net – MVC中的HTTPContext和Controllercont
热点阅读