随笔分类 -  18-序列化

摘要:有时候我们会将一段 JSON 字符串存入数据库,以期在某个接口被调用时将其返回给客户端。这种返回一般不是原样返回:我们可能需要对结果包装一下,比如将数据包在 data 字段里同时提供 code 和 message 字段。 { "code": 200, "message": "OK", "data": 阅读全文
posted @ 2024-01-16 15:22 .Neterr 阅读(97) 评论(0) 推荐(0) 编辑
摘要:# 介绍 JSON Schema是一个用于验证JSON数据的强大工具,可校验json格式和数据值 # 入门案例 安装Nuget ``` Install-package Newtonsoft.Json.Schema ``` 代码: ``` { string json = @"{ 'name':'fan 阅读全文
posted @ 2022-07-16 08:39 .Neterr 阅读(805) 评论(0) 推荐(1) 编辑
摘要:属性替换: public static void ReplaceProperty(JObject jsonObject, JObject replaceObject) { if (jsonObject != null && replaceObject != null) { foreach (JPro 阅读全文
posted @ 2021-12-15 18:23 .Neterr 阅读(57) 评论(0) 推荐(0) 编辑
摘要:介绍 类似于XPath在xml文档中的定位,JsonPath表达式通常是用来路径检索或设置Json的。其表达式可以接受“dot–notation”和“bracket–notation”格式,例如$.store.book[0].title、$[‘store’][‘book’][0][‘title’] 阅读全文
posted @ 2021-04-05 10:26 .Neterr 阅读(1457) 评论(0) 推荐(0) 编辑
摘要:介绍 ContractResolver能做什么: 为属性添加一些序列化设置 自定义属性名 有选择的序列化属性 CamelCasePropertyNamesContractResolver Newtonsoft提供了CamelCasePropertyNamesContractResolver,继承自C 阅读全文
posted @ 2020-10-25 11:34 .Neterr 阅读(3895) 评论(0) 推荐(2) 编辑
摘要:通常的序列化与反序列化中的json结构与c#中的类模型结构是相对应的,我们是否可以在序列化一个对象时候,让我们json的数据结构能按照自己的意愿,而不必与该对象的数据结构一样呢?,比如说,一个对象,只有一个名为"ID"的int类型的属性,值为1,如果序列化该对象,则能得到json:{"ID":1}, 阅读全文
posted @ 2020-10-23 23:57 .Neterr 阅读(7557) 评论(0) 推荐(0) 编辑
摘要:一、JSON使用JsonPropertyAttribute重命名属性名 [JsonProperty("name")] 二、JSON使用JsonPropertyAttribute序列化升序排序属性 [JsonProperty(Order=4)] 三、反序列化属性时,Required指定属性性质 指定其 阅读全文
posted @ 2020-10-23 22:50 .Neterr 阅读(2123) 评论(0) 推荐(0) 编辑
摘要:序列化设置的几种方式: 全局序列化:(在之后使用JsonConvert进行序列化时都有效) JsonConvert.DefaultSettings = new Func<JsonSerializerSettings>(() => { Newtonsoft.Json.JsonSerializerSet 阅读全文
posted @ 2020-10-22 22:43 .Neterr 阅读(391) 评论(0) 推荐(0) 编辑
摘要:在原来解析json数据是,一般都是用反序列化来实现json数据的解读,这需要首先知道json数据的结构并且建立相应的类才能反序列化,一旦遇到动态的json数据,这种方法就不使用。 为了解决动态解析json数据,微软有个Newtonsoft.Json封装类十分好用,里面的JToken直接实现对JSON 阅读全文
posted @ 2020-04-08 14:51 .Neterr 阅读(17524) 评论(1) 推荐(1) 编辑
摘要:继承ISerializable接口可以灵活控制序列化过程 格式化器的工作流程:格式化器再序列化一个对象的时候,发现对象继承了ISerializable接口,那它就会忽略掉类型所有的序列化特性,转而调用类型的GetObjectData方法来构造一个SerializationInfo对象。 我们在方法G 阅读全文
posted @ 2019-12-14 13:33 .Neterr 阅读(1349) 评论(0) 推荐(0) 编辑