![](/img/trans.png)
[英]ServiceStack JsonSerializer not serializing object members when inheritance
[英]ServiceStack JsonSerializer not serializing public members
我正在嘗試使用 ServiceStack.Redis,我注意到當我用公共成員存儲一個對象並稍后嘗試獲取它時,我得到了空值。
我檢查並發現 ServiceStack.Redis 正在使用 ServiceStack.JsonSerializer 所以我嘗試創建一個測試用例,我注意到 ServiceStack.JsonSerializer 沒有序列化公共成員:
public class ClassA
{
public string Id;
public string Id2 { get; set; }
}
static void Main(string[] args)
{
ClassA t = new ClassA();
t.Id = Guid.NewGuid().ToString("n");
t.Id2 = Guid.NewGuid().ToString("n");
string a = JsonSerializer.SerializeToString<ClassA>(t);
ClassA t2 = JsonSerializer.DeserializeFromString<ClassA>(a);
Console.WriteLine("id " + t2.Id);
Console.WriteLine("id2 " + t2.Id2);
Console.ReadLine();
}
如您所見(如果您測試該代碼),Id(公共成員)為 null,Id2(公共屬性)與我們輸入的字符串相同。
那么我做錯了什么?
謝謝!
您可以告訴 JsonSerializer 包含公共字段。
ServiceStack.Text.JsConfig.IncludePublicFields = true;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.