我在一个项目中使用旧版本的 Sharp arch,我正在尝试使用 JSON.NET 进行序列化。JavascriptSerializer 有效,但我更喜欢 JSON.NET 作为首选项。
这就是问题所在。出于某种原因,当我尝试序列化一个简单的 Sharp 对象时,我得到以下信息:
// my sharp object
[Serializable]
public class Contact : Entity
{
public virtual string EmailAddress { get; set; }
}
...
// in sharp, this is what happens to Entity
[Serializable]
public abstract class Entity : EntityWithTypedId<int> {
protected Entity();
}
// and then into EntityWithTypedId
[Serializable]
public abstract class EntityWithTypedId<IdT> : ValidatableObject, IEntityWithTypedId<IdT> {
protected EntityWithTypedId();
[JsonProperty]
[XmlIgnore]
public virtual IdT Id { get; protected set; }
public override bool Equals(object obj);
public override int GetHashCode();
protected override IEnumerable<PropertyInfo> GetTypeSpecificSignatureProperties();
public virtual bool IsTransient();
}
当我运行以下 JSON 转换时,我只返回{ "Id" : 0 }
结果。
Contact test = new Contact {
EmailAddress = "test@test.com"
};
string result = JsonConvert.SerializeObject(test);
关于如何返回整个对象内容的任何想法?