newtonSoft.Json随笔
简介
基本
导入依赖
引入
using Newtonsoft.Json;
using Newtonsoft.Json.Linq; // 使用 JArray 和 JObject
序列化
JsonConvert.SerializeObject(字符串)
public static string SerializeObject(object value, Formatting formatting = Formatting.None, JsonSerializerSettings settings = null)
//其中value表示被序列化的对象,formatting表示JSON字符串格式化选项,settings表示序列化时用到的设置。
序列化显示不同名称
在某些情况下,我们需要将对象的属性名序列化为不同的名称。可以使用JsonPropertyAttribute来指定序列化时的属性名。
Formatting选项
-
默认情况下,序列化时不进行格式化
-
格式化选择,Formatting.Indented
settings设置
1-日期格式化,默认时,只能将日期时间格式化为UTC样式。
JsonSerializerSettings settings = new JsonSerializerSettings
{
DateFormatString = "yyyy-MM-dd HH:mm:ss" //设置日期格式化字符串
};
Person person = new Person() { Name="张三",Age=23,born=DateTime.Now};
string jsonStr = JsonConvert.SerializeObject(person, Formatting.Indented,settings);
2-剔除实例的默认值的枚举
new JsonSerializerSettings
{
DefaultValueHandling = DefaultValueHandling.Ignore
}
3-空值的处理
setting.NullValueHandling = NullValueHandling.Ignore; //空值不枚举出来
应用设定后
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!