代码之家  ›  专栏  ›  技术社区  ›  felig54542

不要用系统序列化列表<class_name>。文本Json[重复]

  •  -1
  • felig54542  · 技术社区  · 2 年前

    我想将列表序列化为json,但输出字符串只有 construction .我的代码:

    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Text.Json;
    
    namespace Application.Save
    {
        internal class SerializeJson : ISave
        {
            public void Save(List<Person> people, String fileName)
            {
                var options = new JsonSerializerOptions
                {
                    WriteIndented = true
                };
    
                String json = JsonSerializer.Serialize(people, options);
                File.WriteAllText(fileName, json);
            }
        }
    }
    
    

    班级负责人:

        public class Person
        {
            public String LastName;
            public String Name;
            public String Patronymic;
        }
    

    怎么了?

    1 回复  |  直到 2 年前
        1
  •  0
  •   PersonNotesAndNotePersons    2 年前

    默认情况下,系统。文本Json ignores fields during serialization 因此,默认情况下仅序列化公共属性。

    但是,您可以配置序列化程序,以便它也可以通过配置 JsonSerializerOptions 恰如其分。

    推荐文章