动态类型dynamic转换为特定类型T的方案
发布时间:2020-12-16 08:56:52 所属栏目:asp.Net 来源:网络整理
导读:需求场景:有时候我们抓到一段请求数据,JSON格式的字符串数据,需要放在接口里重现问题,我们就可能会用dynamic先接受数据,然后再转换成特定数据发出请求。 ? 方案一:直接使用特定对象T,来接受请求数据,不可以吗? 当然可以,不过当JSON数据包含子对象
需求场景:有时候我们抓到一段请求数据,JSON格式的字符串数据,需要放在接口里重现问题,我们就可能会用dynamic先接受数据,然后再转换成特定数据发出请求。 ? 方案一:直接使用特定对象T,来接受请求数据,不可以吗? 当然可以,不过当JSON数据包含子对象时,我遇到了子数据对象丢失的问题。如果你们没有遇到,可以使用。 ? 方案二:使用字符串接受JSON格式的字符串数据,然后反序列化成对象,不过这个你需要对字符串进行处理,加反斜杠,如果你不嫌麻烦,可以使用。 ? 方案三:我个人推荐:使用dynamic类型先接受数据,然后再转换成T对象,比较方便,实用,下面是关键代码: 思路:使用dynamic.ToString()方法,得到Json的字符串,然后使用反序列化方法,可以避免方案一的数据丢失问题。好用!!!推荐!!! ? /// <summary> /// 模拟请求 </summary> <param name="fromBody">接收响应结果为加密之后的值</param> <returns>得到解密之后返回的响应结果值</returns> [HttpPost] public HttpResponseMessage Test(dynamic fromBody)//dynamic JObject { string a = fromBody.ToString(); T t= Newtonsoft.Json.JsonConvert.DeserializeObject<T>(a); return result; } ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – 使用Jquery Ajax渲染部分视图与变量数据
- asp.net – 如何使用javascript控制系统卷
- asp.net – 命名空间“系统”中不存在类型或命名空间名称“
- asp.net-mvc – 我在哪里可以找到nuPack上列出的MvcScaffol
- 带有MS Chart的ASP.NET禁用垂直线
- asp.net-mvc-3 – 将AuthorizeAttribute应用于控制器类并同
- asp.net-mvc – 我应该在LogOff方法中使用Session.Abandon(
- asp.net-mvc – 如何提交本地jqgrid数据和表单输入元素
- asp.net-mvc-4 – MVC4最小参考
- IIS是否记录请求标头信息?如果是的话,在哪里?