配置ServiceStack.Text以抛出无效的JSON

配置ServiceStack.Text以抛出无效的JSON,第1张

概述尝试反序列化无效的 JSON时,是否可以使ServiceStack.Text库抛出.默认情况下,它看起来好像只是忽略了无效的JSON,因此结果对象包含空值. 当我尝试反序列化这个json时(一个“在MongoConnectionString之后丢失) {"MongoDb": {"MongoConnectionString:"mongodb://localhost:27017/x","Mong 尝试反序列化无效的 JSON时,是否可以使ServiceStack.Text库抛出.默认情况下,它看起来好像只是忽略了无效的JsON,因此结果对象包含空值.

当我尝试反序列化这个Json时(一个“在MongoConnectionString之后丢失)

{"MongoDb": {"MongoConnectionString:"mongodb://localhost:27017/x","MongoDatabase":"x","MongoSafeModeEnabled":true,"MongoSafeModeFSync":true,"MongoSafeModeWriteReplicationCount":"MongoSafeModeWriteTimeout":"00:00:00"},

通过这样做:JsonSerializer.DeserializefromString(Json);
哪里

public class Configuration {    public class MongoDbSettings    {        public string MongoConnectionString {get;set;}        public string MongoDatabase {get;set;}        public bool MongoSafeModeEnabled {get;set;}        public bool MongoSafeModeFSync {get;set;}        public int MongoSafeModeWriteReplicationCount {get;set;}        public TimeSpan MongoSafeModeWriteTimeout {get;set;}    }}

我得到一个配置对象,其中MongoDbSettings为null.在这种情况下,我宁愿得到一个例外.这可能吗?

解决方法 目前,ServiceStack序列化器针对d性进行了优化,即尽可能无错误地反序列化.

我建议添加一些自己的验证检查序列化,以确定哪些字段没有正确反序列化.

您还可以向支持选择加入标记(即在JsConfig上)的ServiceStack.Text项目提交拉取请求,以更改抛出异常的行为.

总结

以上是内存溢出为你收集整理的配置ServiceStack.Text以抛出无效的JSON全部内容,希望文章能够帮你解决配置ServiceStack.Text以抛出无效的JSON所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1058892.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存