使用Newtonsoft JsonConvert 遇到的内存溢出问题排查

由于该篇随笔讲述的问题内容比较少,所以我就不在开篇废话了。

 

近期公司的一个web项目,出现几次IIS进行内存溢出的问题,把服务器16G的内存都能吃完。前几次都没能最终定位到问题发生的位置。

昨天该问题又出现,终于灵光一现。以前遇到过Newtonsoft JsonConvert转换json数据成datatable的时候出现过内存溢出的情况。

经过仔细跟踪调试,发现如果在调用Newtonsoft JsonConvert.DeserializeObject的时候传入的json字符串不是预期的json格式, 该方法内部应该是未做好验证机制,代码中存在问题,导致内存溢出。VS中也报出了相应的错误。

解决办法:在调用Newtonsoft JsonConvert.DeserializeObject之前 对json字符串添加几层判断机制。

 

转载于:https://www.cnblogs.com/Coder-War/p/5241042.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity 是一款非常强大的跨平台游戏引擎,它提供了丰富的功能和工具来帮助游戏开发者创建高品质的游戏。而使用 Newtonsoft.dll 则是为了在 Unity 中更方便地处理 JSON 数据。 Newtonsoft.dll 是一个用于处理 JSON 数据的第三方库,也称作 Newtonsoft.Json。在 Unity 中使用它主要有以下几个原因: 1. 强大的功能:Newtonsoft.Json 提供了许多方便的方法和工具来序列化(将对象转换为 JSON)和反序列化(将 JSON 转换为对象)数据。这使得在 Unity 中处理 JSON 数据变得非常简单和高效。 2. 跨平台兼容性:该库已经被广泛应用于各种平台和编程语言中,并且与 Unity 兼容性良好。这意味着无论您将游戏发布到哪个平台或使用哪种开发环境,都可以轻松地使用 Newtonsoft.Json 进行 JSON 数据处理。 3. 第三方支持和社区:使用 Newtonsoft.Json 有着丰富的文档和教程资源,以及庞大的开发社区。这些资源可以帮助您更好地理解和使用 Newtonsoft.Json,在开发过程中得到有价值的支持和建议。 4. 高性能和灵活性:Newtonsoft.Json 提供了高性能的 JSON 数据处理能力,并具有许多可配置的选项。这使得您可以根据自己的需求进行定制,并在高要求的游戏开发中实现更好的性能和用户体验。 综上所述,Unity 使用 Newtonsoft.Json 主要是为了方便地处理 JSON 数据,它提供了强大的功能、跨平台兼容性、第三方支持和灵活性。这使得在 Unity 中处理 JSON 数据变得更加简单和高效,为游戏开发者提供了更多的选择和优化的空间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值