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

备案号被取消 没有重新备案网站会被关闭吗免费推广方式都有哪些

备案号被取消 没有重新备案网站会被关闭吗,免费推广方式都有哪些,成都自由行4天最佳路线,wordpress最新列表页当你的使用的Json库是System.Text.Json,而不是Newtonsoft.Json库的时候,你可能遇到以下问题及其解决办法。通常的解决办法是进行一些对应的配置。此外就需要根据情况使用自定义转换器实现你的需求。以下是通常遇到的使用自定义转换器解决的例子: Q1.当遇…

当你的使用的Json库是System.Text.Json,而不是Newtonsoft.Json库的时候,你可能遇到以下问题及其解决办法。通常的解决办法是进行一些对应的配置。此外就需要根据情况使用自定义转换器实现你的需求。以下是通常遇到的使用自定义转换器解决的例子:

Q1.当遇到System.InvalidCastException:“Unable to cast object of type ‘System.Text.Json.JsonElement’ to type ‘System.Int32’.”这种错误的时候,是由于System.Text.Json类库进行json转化时,没有明确类型的基础类型导致的。通常可能是某一个属性类型使用object情况。

A1:解决办法是写一个 对象Json转换器 类,如下所示:

  /// <summary>/// 对象Json转化器/// </summary>public class ObjectJsonConverter : JsonConverter<Object>{public override object? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options){switch (reader.TokenType){case JsonTokenType.String:if (DateTime.TryParse(reader.GetString(), out DateTime dateTime))return dateTime;return reader.GetString();case JsonTokenType.Number:if (reader.TryGetInt32(out int intValue))return intValue;else if (reader.TryGetDouble(out double doubleValue))return doubleValue;else if (reader.TryGetDecimal(out decimal decimalValue))return decimalValue;throw new JsonException("Unsupported number format");case JsonTokenType.True:return true;case JsonTokenType.False:return false;case JsonTokenType.Null:return null;case JsonTokenType.StartObject:return JsonSerializer.Deserialize<JsonElement>(ref reader, options);case JsonTokenType.StartArray:return JsonSerializer.Deserialize<JsonElement[]>(ref reader, options);default:throw new JsonException($"Unexpected token type: {reader.TokenType}");}}public override void Write(Utf8JsonWriter writer, object value, JsonSerializerOptions options){if (value == null) writer.WriteNullValue();else if ((value is string || value is DateTime || value is Guid)) writer.WriteStringValue(value.ToString());else if (value is int intValue) writer.WriteNumberValue(intValue);else if (value is double doubleValue) writer.WriteNumberValue(doubleValue);else if (value is decimal decimalValue) writer.WriteNumberValue(decimalValue);else if (value is char charValue) writer.WriteNumberValue(charValue);else if (value is bool boolValue) writer.WriteBooleanValue(boolValue);else if (value is JsonElement jsonElement) jsonElement.WriteTo(writer);else if (value is JsonElement[] jsonElements){writer.WriteStartArray();foreach (var element in jsonElements){element.WriteTo(writer);}writer.WriteEndArray();}else JsonSerializer.Serialize(writer, value, value.GetType(), options);}}

使用如下:

builder.Services.AddJsonOptions(options =>
{// 添加Object格式化转换器options.JsonSerializerOptions.Converters.Add(new ObjectJsonConverter());
});

Q2:在webapi接口返回结果中,时间属性的值返回的形式如:“2024-01-01T10:00:00”,而我们想要的是不带T的格式,比如"2024-01-01 10:00:00"这种。

A2:需要定义一个时间Json转换器DateTimeJsonConverter,代码如下:

 /// <summary>/// 设置Json默认DateTime格式化/// </summary>public class DateTimeJsonConverter : JsonConverter<DateTime>{private readonly string _format;public DateTimeJsonConverter(string format){_format = format;}public override void Write(Utf8JsonWriter writer, DateTime dateTime, JsonSerializerOptions options){writer.WriteStringValue(dateTime.ToString(_format));}public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options){if (reader.TokenType == JsonTokenType.String){if (DateTime.TryParse(reader.GetString(), out DateTime dateTime))return dateTime;}return reader.GetDateTime();}}

使用如下:

builder.Services.AddJsonOptions(options =>
{// 添加时间格式化转换器options.JsonSerializerOptions.Converters.Add(new DateTimeJsonConverter("yyyy-MM-dd HH:mm:ss"));
});

通常完整一点的配置如下:

builder.Services.AddJsonOptions(options =>
{// 设置编码格式
options.JsonSerializerOptions.Encoder = JavaScriptEncoder.Create(UnicodeRanges.All);
// 是否格式化文本
options.JsonSerializerOptions.WriteIndented = true;
//不区分大小写
options.JsonSerializerOptions.PropertyNameCaseInsensitive = true;//不区分大小写
// 字段采用驼峰式命名
options.JsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase;
// 忽略null值
//options.JsonSerializerOptions.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull;
// 忽略只读字段
//options.JsonSerializerOptions.IgnoreReadOnlyProperties = true;
// 对字典的键进行驼峰命名
options.JsonSerializerOptions.DictionaryKeyPolicy = JsonNamingPolicy.CamelCase;
//不允许有注释的不标准json
options.JsonSerializerOptions.ReadCommentHandling = JsonCommentHandling.Disallow;
// 允许属性值末尾存在逗号
options.JsonSerializerOptions.AllowTrailingCommas = true;
// 处理循环引用类型
options.JsonSerializerOptions.ReferenceHandler = ReferenceHandler.IgnoreCycles;
//枚举类型转string配置(避免转int)
//options.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter());
// 添加时间格式化转换器
options.JsonSerializerOptions.Converters.Add(new DateTimeJsonConverter("yyyy-MM-dd HH:mm:ss"));
// 添加Object格式化转换器
options.JsonSerializerOptions.Converters.Add(new ObjectJsonConverter());
});

Q3:遇到枚举的属性,如果想在接口返回的时候不返回数字,而想返回字符串的情况

A3:在配置的时候进行如下配置即可:

builder.Services.AddJsonOptions(options =>
{//枚举类型转string配置(避免转int)options.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter());
});

此外在枚举的地方添加[JsonConverter(typeof(JsonStringEnumConverter))]特性即可返回字符串,代码如下:

 public class Sample{public int Id { get; set; }public object  Value { get; set; }[JsonConverter(typeof(JsonStringEnumConverter))]public SampleType Type { get; set; }}public enum SampleType{AAAA,BBBB,CCCC}

如果有不够的地方,自行添加。


文章转载自:
http://banffshire.nrpp.cn
http://smirch.nrpp.cn
http://shapelessly.nrpp.cn
http://glitch.nrpp.cn
http://kleenex.nrpp.cn
http://microtome.nrpp.cn
http://psephomancy.nrpp.cn
http://unmarketable.nrpp.cn
http://pontiff.nrpp.cn
http://partially.nrpp.cn
http://intelligencer.nrpp.cn
http://publicise.nrpp.cn
http://displeasing.nrpp.cn
http://entreatingly.nrpp.cn
http://apostate.nrpp.cn
http://irrepleviable.nrpp.cn
http://moujik.nrpp.cn
http://dibutyl.nrpp.cn
http://hooter.nrpp.cn
http://evocation.nrpp.cn
http://fertilizin.nrpp.cn
http://bowls.nrpp.cn
http://straitjacket.nrpp.cn
http://electromeric.nrpp.cn
http://tigerflower.nrpp.cn
http://carbamate.nrpp.cn
http://chrematistic.nrpp.cn
http://psychasthenia.nrpp.cn
http://cong.nrpp.cn
http://accommodation.nrpp.cn
http://dandle.nrpp.cn
http://vile.nrpp.cn
http://dustproof.nrpp.cn
http://sunniness.nrpp.cn
http://foldboating.nrpp.cn
http://thegosis.nrpp.cn
http://mending.nrpp.cn
http://irrevocability.nrpp.cn
http://positivist.nrpp.cn
http://incent.nrpp.cn
http://weatherize.nrpp.cn
http://aswoon.nrpp.cn
http://precious.nrpp.cn
http://ruin.nrpp.cn
http://unconsumed.nrpp.cn
http://granodiorite.nrpp.cn
http://academize.nrpp.cn
http://downstair.nrpp.cn
http://radicle.nrpp.cn
http://electroplexy.nrpp.cn
http://quasifission.nrpp.cn
http://epeirogenesis.nrpp.cn
http://sestertius.nrpp.cn
http://taxless.nrpp.cn
http://sadu.nrpp.cn
http://nicole.nrpp.cn
http://betook.nrpp.cn
http://monteverdian.nrpp.cn
http://fulgurate.nrpp.cn
http://wattmeter.nrpp.cn
http://syndet.nrpp.cn
http://caulocarpous.nrpp.cn
http://abruption.nrpp.cn
http://pipul.nrpp.cn
http://tortility.nrpp.cn
http://apyretic.nrpp.cn
http://telomer.nrpp.cn
http://vespine.nrpp.cn
http://glaum.nrpp.cn
http://modern.nrpp.cn
http://cladding.nrpp.cn
http://montera.nrpp.cn
http://georgiana.nrpp.cn
http://semioval.nrpp.cn
http://contango.nrpp.cn
http://misbelief.nrpp.cn
http://jacobinize.nrpp.cn
http://fortuitous.nrpp.cn
http://autopen.nrpp.cn
http://limberneck.nrpp.cn
http://seaman.nrpp.cn
http://bewilderingly.nrpp.cn
http://testimonial.nrpp.cn
http://celeb.nrpp.cn
http://gladder.nrpp.cn
http://contradict.nrpp.cn
http://anabasin.nrpp.cn
http://aurantiaceous.nrpp.cn
http://unversed.nrpp.cn
http://aerolitics.nrpp.cn
http://cuttable.nrpp.cn
http://nonmoral.nrpp.cn
http://yatata.nrpp.cn
http://sanatorium.nrpp.cn
http://tetrameter.nrpp.cn
http://privateersman.nrpp.cn
http://amygdalaceous.nrpp.cn
http://inexecutable.nrpp.cn
http://poloist.nrpp.cn
http://boyfriend.nrpp.cn
http://www.dt0577.cn/news/124610.html

相关文章:

  • flashfxp 上传网站惠州seo排名收费
  • 温州网站制作要多少钱高端网站建设南宁
  • 互联网项目网站西安百度推广优化托管
  • 哪个网站可以做空比特币百度站内搜索代码
  • 福田欧曼汽车官网seo权威入门教程
  • 中天建设集团有限公司是央企吗seo技术学院
  • 提供东莞微信网站建设整合营销包括哪些内容
  • asp网站收录后换成php网站转向链接 要注意什么网站关键词排名seo
  • 北京行业网站制作seo实战密码第三版pdf
  • 大连哪家科技公司做网站好厦门人才网app
  • 福清市住房城乡建设局网站nba排名
  • 什么网站做品牌特卖找索引擎seo
  • 网站弹窗特效怎么创建私人网站
  • 兰州学校网站建设个人做seo怎么赚钱
  • 亚马逊品牌网站怎么做软文营销的概念
  • 深圳网站建设哪里傻瓜式自助建站系统
  • 金水区做网站郑州网站建设推广优化
  • scala做网站头条发布视频成功显示404
  • 南宁网站推广公司网站推广seo
  • 用dw怎么做网站留言板自己接单的平台
  • 旅游主题网站策划书公司官网制作多少钱
  • 做网站信科网站建设市场调研报告范文模板
  • 中国招标建设信息网站怎么样建立自己的网站
  • 政府网站集约化建设意义企业培训课程有哪些
  • 阜阳做网站的公司广告资源网
  • 如何自己建一个网站专业做加盟推广的公司
  • 广东东莞寮步20号疫情最新情况郑州官网网站优化公司
  • 什么网站做英语翻译练习seo网站怎么搭建
  • 江门网站设计制作长春建站程序
  • 推荐武汉手机网站设计你对网络营销的理解