You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中将POCO转为JObject时能否应用IContractResolver?

最优实现方案

你可以直接使用JsonSerializer提供的Create静态方法,将JsonSerializerSettings实例直接转换为序列化器实例,配合JObject.FromObject即可一步完成POCO到JObject的转换,完全省去序列化中间字符串再解析的性能损耗。
示例代码如下:

JsonSerializerSettings settings = new()
{
    ContractResolver = _salesforceContractResolver
};
// 从现有配置创建序列化器实例
JsonSerializer serializer = JsonSerializer.Create(settings);
// 直接转换POCO为JObject,所有配置规则都会生效
JObject jObject = JObject.FromObject(outboundContract, serializer);

补充说明

你之前尝试的JObject.Parse方法仅支持解析JSON字符串输入,不支持直接传入序列化配置,也无法直接处理POCO对象。而上述方案完全保留你原有配置的所有规则,包括ContractResolver、空值处理、日期格式等所有在settings中定义的配置,性能相比原有实现有明显提升。

内容的提问来源于stack exchange,提问作者Brian Kessler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 12:15:01