社区
C#
帖子详情
json字符串直接反序列化为dynamic对象
xyq1986
2015-12-19 08:37:05
在接收一些接口的返回json值时,为了省事免去再定义一个类,经常直接把json字符串反序列化成dynamic对象,然后再直接访问各个属性,这样写妥当吗?会不会太消耗性能?
感觉最常用到dynamic的就是这个了,大家还有其它使用场景吗
...全文
264
5
打赏
收藏
json字符串直接反序列化为dynamic对象
在接收一些接口的返回json值时,为了省事免去再定义一个类,经常直接把json字符串反序列化成dynamic对象,然后再直接访问各个属性,这样写妥当吗?会不会太消耗性能? 感觉最常用到dynamic的就是这个了,大家还有其它使用场景吗
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xuzuning
2015-12-20
打赏
举报
回复
如果是不会去修改他的值,当然是可以的。简单有效
以专业开发人员为伍
2015-12-20
打赏
举报
回复
我给你举个例子,我最近看了微信sdk的代码(按说这是标准sdk,写它的人不应该是很低级的员工),对腾讯程序员素质之低,感到非常震惊。比如说要创建订单有许多种,有些根本就是不同种,例如一个看似重要的字段 openid,在有些统一下单业务中是应该不填的,而在另外许多统一下单业务中又是“必填”的。如果该不填的时候填了,或者该填的时候没填,就出现诡异现象了——它们显然也懒得做许多数据边界的检查。 在各种论坛上经常有用户骂:系统崩溃了,我去给电影票下单,怎么支付时总是说“下单编号与支付编号不一致,请核实后再试。”之类的话,好像试了好几天了,系统都没有好。 经常有这种话。程序员论坛也会有许多类似问题,都没有什么回答。因为这种问题其实很低级。 在微信的sdk中,可以看到是胡乱抽象、组合的。通常我们对于代码执行的路径,会有许多种分支逻辑。但是这是靠着在对象数据结构上的清晰,分类的清晰,来避免毫无价值的分支、劳民伤财、在用户那里才丢人现眼地崩溃出的那些分支的。 如果有强类型的思维方式,那么也就不用花费巨大的人力去保证这些数据边界检查。而且其它程序员也能成文自明地、毫不费力地去编程。在debug时更是提高了数十倍效率。这是弱类型所缺少的特性。 我想腾讯公司可以给程序员极高的工资,比一般的软件公司平均工资高5倍。但是一个软件公司再土豪,也不该找那样的程序员来写代码啊!
以专业开发人员为伍
2015-12-20
打赏
举报
回复
对一些程序员来说,可能最喜欢考虑“我想要点自由,反正我自己用、自己保证可靠就行了”。 对于另外一些主程序员来说,可能最喜欢的就是“编程之后过一段就忘记它,没有精力去纠缠具体的代码”。当管理自己的代码就像管理100个人的代码一样,这时候你对自由的理解就不一样了,你就不会仅仅希望有个人狭隘式的自由编码习惯,你希望那种能有勇气对很复杂的系统随时进行巨大的改变时的那种自由。那么强类型编程,可以保证这种自由。
以专业开发人员为伍
2015-12-20
打赏
举报
回复
谈不上“太消耗”性能,但是一定会消耗性能的。这个可以自己衡量和测试。有时候这种消耗很明显,有时候则不重要。 对我来说,最主要地区别,在于“可靠性”。如果你使用强类型的编程方式,你就知道编译器可以给你保证许多检查。反之,你就知道自己的代码永远都有着弱类型所带来的“很可能只有到用户面前,才突然崩溃,令人丢人现眼”的遗憾。因此自己选择你要更谨慎而准确的编程,还是更松散而灵活的编程。 没有定“死”的标准。但是我不主张弱类型。
showjim
2015-12-19
打赏
举报
回复
都用dynamic了,还需要考虑什么性能与可靠性。。。
C#
Dynamic
通用
反序列化
Json
类型并遍历属性比较
所有在
反序列化
Json
字符串
时需要一种通用的转换方式,而不是写死的某个类的
反序列化
,这里介绍的一种思路就是使用
dynamic
关键字来实现通用
反序列化
并比较
反序列化
后的
对象
是否深度相等即比较
对象
的各个字段是否相等...
HyperTomlProcessor:.NET 的 TOML 解析器
HyperToml处理器 .NET 的 TOML 解析器。...使用方法TOML
字符串
或流转换为XElement 。 转换后的XElement及其子/孙元素具有属性type和toml 。 type属性与属性兼容。 toml属性的值可以是BasicString 、 Mul
在C#.NET中灵活处理
Json
-
Json
.NET框架精讲
在本课程中,我们将系统性学习如何处理
JSON
,包括完整的序列化和
反序列化
技术,掌握
JSON
Setting和Attribute操作,使用LINQ To
JSON
,序列化性能调优,
JSON
与XML和BSON转化,验证
JSON
解析 变化等。同时对C#...
是否可以将
json
反序列化
为
dynamic
对象
?
咨询区 jswanson:是否有方法可以将
json
反序列化
为
dynamic
对象
,如果可以实现的话,那我就可以省去很多冗余类。回答区 Tom Peplow:如果你用
Json
.NET...
C#
110,537
社区成员
642,576
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章