.NET 对象转JSON时忽略值为null的字段

permission.json

public class Permission
{
    public Guid Id { get; set; }
    public Guid? Pid { get; set; }
    public Guid? Mid { get; set; }
    public string? Name { get; set; }
    public string? Description { get; set; }
    public string? Code { get; set; }
    public string? Icon { get; set; }
    public bool? Enabled { get; set; }
    public int? OrderSort { get; set; }
    public bool IsButton { get; set; }
    public bool IsHide { get; set; }
}
using System.Text;
using System.Text.Encodings.Web;
using System.Text.Json;
using System.Text.Json.Serialization;
using System.Text.Unicode;

string fContent = File.ReadAllText(Path.Combine(Environment.CurrentDirectory,"permissions.json"));
var ps = JsonSerializer.Deserialize<IList<Permission>>(fContent);

var desktopPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop),"permission.json");

var jsonOptions = new JsonSerializerOptions()
{
    WriteIndented = true,
    DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingDefault,
        Encoder = JavaScriptEncoder.Create(UnicodeRanges.All, UnicodeRanges.All)
};
var oContent = JsonSerializer.Serialize(ps,jsonOptions);
File.WriteAllText(desktopPath, oContent);

结果


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容