使用Newtonsoft JsonConvert序列化在特定属性集上失败

本文关键字:属性 失败 Newtonsoft JsonConvert 序列化 使用 | 更新日期: 2023-09-27 18:10:10

我正在尝试将对象树序列化为json字符串。对象树很复杂,除了一组属性是来自不同. dll的对象之外,通常序列化没有问题。我能把它们连载吗?

下面是序列化的代码:
var settings = new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.All };
var json = JsonConvert.SerializeObject(exe.Value, settings);
File.WriteAllText(Path.Combine(folderCache, exe.Value.AccountId + ".txt"), json);

下面是不被序列化的类属性的类型:

[DataContract(Namespace = Constants.ServiceManagementNS)]
public class Deployment : IExtensibleDataObject

exe。Value是一个基于EntityFramework的模型对象,它是这样定义的(它在结构深处)

[DataContract(IsReference = true)]
[KnownType(typeof(Account))]
public partial class AccountUser: IObjectWithChangeTracker, INotifyPropertyChanged

在树的深处有一个名为AzureDeployment的属性,它不会被序列化:

    public Deployment AzureDeployment { get; set; }

有什么建议吗?

使用Newtonsoft JsonConvert序列化在特定属性集上失败

原来我需要用[DataMember]标记非序列化实体

相关文章: