c# - 在 C# 中,将 POCO 转换为 JObject 时是否可以应用 IContractResolver?
问题描述
因为我们正处于迁移过程中,所以我们不能将某些JsonProperty
名称硬编码到 DTO 上的属性中,而是需要将 anIContractResolver
应用于实例,JsonSerializerSettings
以便正确序列化 POCO。
但是,因为我想重用现有库中的代码,所以我宁愿将我的 POCO 转换为 JObject 而不是 String。
目前我正在这样做:
JsonSerializerSettings settings = new()
{
ContractResolver = _salesforceContractResolver
};
string outboundContractJson = JsonConvert.SerializeObject(outboundContract, settings);
JObject jObject = JObject.Parse(outboundContractJson);
这行得通,但效率有点低。
我试过了:
JsonSerializerSettings settings = new()
{
ContractResolver = _salesforceContractResolver
};
JObject jObject = JObject.Parse(outboundContractJson, settings);
但是,毫不奇怪,这不会编译。
我看到它JObject
提供了以下签名:
public static JObject FromObject(object o, JsonSerializer jsonSerializer);
有没有一种简单的方法可以将我的设置“转换”为序列化程序的实例?
还是有其他方法我可以/应该这样做?
解决方案
推荐阅读
- node.js - Express res.json({}) 不向 Angular 应用程序发送数据
- javascript - 如何以更好的方式处理我的阵列?
- raku - 逗号:“项目中没有测试源根:是否正确配置?”
- assembly - MASM:如何解决错误“不允许立即操作数”
- azure-devops - Odata 查询以从 azure 分析服务获取基于标记的测试用例计数
- tensorflow - 导入张量流
- python - ModuleNotFoundError:没有名为“azure”的模块
- java - 从文件中获取 WEB_URL
- android - 如何处理 BillingClient.onBillingServiceDisconnected()?
- javascript - 我需要一种方法,我的机器人可以用 8ball 命令之类的随机响应进行响应