当前位置: 首页 > news >正文

做的网站百度不收录近期热点新闻

做的网站百度不收录,近期热点新闻,杭州网站建站模板,wordpress 无法编辑主题Newtonsoft.Json 是一个流行的 JSON 操作库,用于在 .NET 应用程序中序列化、反序列化和操作 JSON 数据。下面是 Newtonsoft.Json 常用的一些方法: 序列化对象为 JSON 字符串: string json JsonConvert.SerializeObject(obj);var obj new {…

Newtonsoft.Json 是一个流行的 JSON 操作库,用于在 .NET 应用程序中序列化、反序列化和操作 JSON 数据。下面是 Newtonsoft.Json 常用的一些方法:

序列化对象为 JSON 字符串:

string json = JsonConvert.SerializeObject(obj);
var obj = new { Name = "John", Age = 30 };
string json = JsonConvert.SerializeObject(obj);
// 输出结果:{"Name":"John","Age":30}

反序列化JSON字符串为对象: 

T obj = JsonConvert.DeserializeObject<T>(json);
string json = "{\"Name\":\"John\",\"Age\":30}";
var obj = JsonConvert.DeserializeObject<Person>(json);
// 其中 Person 类定义为:class Person { public string Name { get; set; } public int Age { get; set; } }

将JSON对象转换成键值对集合: 

JObject jObject = JObject.Parse(json);
Dictionary<string, string> dictionary = jObject.ToObject<Dictionary<string, string>>();
var obj = new { Name = "John", Age = 30 };
string json = JsonConvert.SerializeObject(obj);
// 输出结果:{"Name":"John","Age":30}

 忽略对象中的null值属性:

string json = JsonConvert.SerializeObject(obj, new JsonSerializerSettings
{NullValueHandling = NullValueHandling.Ignore
});
var obj = new { Name = "John", Age = (string)null };
string json = JsonConvert.SerializeObject(obj, new JsonSerializerSettings
{NullValueHandling = NullValueHandling.Ignore
});
// 输出结果:{"Name":"John"}

将JSON字符串转换成易读的形式:

string formattedJson = JValue.Parse(json).ToString(Formatting.Indented);
string json = "{\"Name\":\"John\",\"Age\":30}";
string formattedJson = JValue.Parse(json).ToString(Formatting.Indented);
// 输出结果:
// {
//   "Name": "John",
//   "Age": 30
// }

将json对象转换成动态对象:

string json = "{\"Name\":\"John\",\"Age\":30}";
dynamic obj = JsonConvert.DeserializeObject(json);
Console.WriteLine(obj.Name); // 输出:John
Console.WriteLine(obj.Age); // 输出:30

类中有的属性但是在JSON字符串中没有对应值需要注意的事

情况一:JSON 中包含 "Age" 值

class Person
{public string Name { get; set; }public int Age { get; set; } // 不使用可空类型
}string json1 = "{\"Name\":\"John\",\"Age\":30}";
Person obj1 = JsonConvert.DeserializeObject<Person>(json1);
Console.WriteLine(obj1.Name); // 输出:John
Console.WriteLine(obj1.Age); // 输出:30

情况二:JSON 中没有 "Age" 值

class Person
{public string Name { get; set; }public int Age { get; set; } // 不使用可空类型
}string json2 = "{\"Name\":\"John\"}";
Person obj2 = JsonConvert.DeserializeObject<Person>(json2);
Console.WriteLine(obj2.Name); // 输出:John
Console.WriteLine(obj2.Age); // 输出:0(默认值)

在情况一中,当 JSON 包含 "Age" 值时,可以直接将其赋值给对象的 Age 属性。

而在情况二中,由于 JSON 中没有 "Age" 值,反序列化后的对象会使用类型的默认值,对于 int 类型来说,默认值是 0。这可能会导致不合理的结果。

如果希望在情况二中避免不合理的默认值,可以使用可空类型来声明 Age 属性,并将其设置为 null。这样,即使 JSON 中没有 "Age" 值,反序列化后的对象的 Age 属性会是 null

情况三:JSON 中缺少 "Age" 键

class Person
{public string Name { get; set; }public int? Age { get; set; } // 使用可空类型
}string json3 = "{\"Name\":\"John\"}";
Person obj3 = JsonConvert.DeserializeObject<Person>(json3);
Console.WriteLine(obj3.Name); // 输出:John
Console.WriteLine(obj3.Age); // 输出:null

在情况三中,由于 JSON 中缺少 "Age" 键,反序列化后的对象会使用可空类型的默认值 null,因此 Age 属性为 null。

http://www.shuangfujiaoyu.com/news/35729.html

相关文章:

  • 怎么看网站是什么语言做的后台谷歌关键词查询工具
  • 做网站需要注册商标是几类注册网站免费注册
  • 做seo需要建网站吗互联网整合营销推广
  • 郑州营销型网站建设工作室关键词排名点击工具
  • 网站开发最流行的语言相似图片在线查找
  • 企业网站建设 安全重庆网站seo推广公司
  • 以中文做域名的网站百度识别图片找图
  • 宁波做网站优化多少钱小程序开发平台有哪些
  • 企业网络营销企业网站建设章节习题网络广告营销方案策划
  • 阿里云镜像wordpress网站推广优化方案
  • 邗江区疫情最新消息seo资源是什么意思
  • 注册了网站怎么建设企业老板培训课程
  • 怎么做网站二级页面安卓系统优化app
  • 天元建设集团有限公司网站广告外链购买平台
  • 做网站页面需要的资料lol关键词查询
  • 影视网站cpa 如何做网站查询域名入口
  • 平面设计工资怎样优化什么意思
  • 免费的视频模板网站网上推广怎么收费
  • 做网站的赢点公司最近的重大新闻
  • 番禺网站建设系统营销网络建设
  • 网站建设费用折旧年限店铺推广渠道有哪些方式
  • 哪个网站可以做英文兼职成都网站排名 生客seo
  • 做视频网站需要长沙关键词排名首页
  • 微网站开发商简阳seo排名优化课程
  • 农村自建房设计图纸深圳百度网站排名优化
  • wordpress多站点 主题今日热点
  • 有名的网站制作电话找个免费网站这么难吗
  • 怎么做网站8uftp杭州优化seo
  • 云主机网站源码广告投放平台
  • 网站建设 镇江seo关键词选择及优化