簡體   English   中英

ServiceStack JsonSerializer 不序列化公共成員

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM