首页 > 编程语言 >C# Record类使用 注解Attribute JsonConverter

C# Record类使用 注解Attribute JsonConverter

时间:2023-09-16 22:22:07浏览次数:49  
标签:JsonConverter return C# Attribute class Record double public

用Record类的时候,声明成员很方便,但是想要用注解,要用下面这种方式:

 

和这种方式相同:

JsonConverter使用需要创建一个class 继承与JsonConverter<T>

class JsonDoubleCvt : JsonConverter<double>
    {
        public override double Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
        {
           return double.Parse(reader.GetString().TrimStart());
        }

        public override void Write(Utf8JsonWriter writer, double value, JsonSerializerOptions options)
        {
           writer.WriteStringValue(value.ToString());
        }
    }

 Read 就是 从 网络、文件等等反序列化时的, return出去就行
 Write 就是序列化时的,不用return

 

例如 获得的json为

{
    "price":"12"
}

直接给model 赋值时就是str类型, 转换比较麻烦, 就可以加一个类型转换

public class tbd
{
    [JsonConverter(typeof(JsonDoubleCvt))]
    public double Price { get; set; }
}

 

标签:JsonConverter,return,C#,Attribute,class,Record,double,public
From: https://www.cnblogs.com/znah/p/17707430.html

相关文章

  • P3287 [SCOI2014] 方伯伯的玉米田
    首先每次选择的区间结尾都可以换成\(n\),仍然保持单调不降,我们就按这个策略拔高玉米。令\(f_{i,j}\)表示\(1\simi\)这段前缀进行了\(j\)次操作,第\(i\)株玉米不被拔掉,所能剩下最多的玉米数量:\[f_{i,j}=\max\{f_{p,q}|p<i,q<j,a_p+q\leqa_i+j\}+1\]枚举\(i\),剩下两个......
  • CSP-S 2023 游记
    前言一万年没更博客了,今天写写游记。Day\(\bf{0}\)考前半个月内完全没复习,总计花了一小时做了两张很简单的卷子,然而只有\(90\pm2\)。Day\(\bf{\frac{1}{2}}\)早上十一点睡醒,打卡运势\(33\),群内最低。中饭去吃了吉祥馄饨,人品++。看了眼上午J组的题,不会union,不会哈夫......
  • CF1017H The Films
    Da1y3。今天因为初赛实在是没时间(懒得)写题了www,就放一道之前模拟赛场切的题吧。还有这个CF评分是假的,难点在于看懂题。考虑令\(c_i\)表示序列中\(i\)元素的出现次数,对于一次询问\(l,r\),令\(d_i\)表示\(a_l,a_{l+1},\cdots,a_r\)中\(i\)元素的出现次数。令\(A_n^m......
  • CF1827B1
    RangeSorting(EasyVersion)题面翻译对一个数组\(\{p_i\}\)的一段区间\([l,r]\)排序的代价为\(r-l\),对整个数组\(p_i\)排序的代价为选定若干区间并排序,使得整个数组有序的代价之和。求\(\{a_i\}\)的所有子段排序的代价之和。题目描述Theonlydifferencebetween......
  • 【游记】CSP2023游记
    初赛Day-1你说得对,但是原神4.1前瞻(然后非常极限地签了班里三个人的号(雾)J组模拟题感觉良好。搬了两道南外的题,一次性生成多组数据的写法真的香。初赛Day0午饭吃了压缩饼干,口感有点奇怪但是管饱。剩下一小块直接扔了(买了盒口香糖在车上分,进行一个RP的攒。车上和mrf......
  • The 2nd Universal Cup. Stage 2: SPb
    链接:https://contest.ucup.ac/contest/1356A.MixedMessages#include"bits/stdc++.h"usingnamespacestd;usingi64=longlong;intmain(){ios::sync_with_stdio(false);cin.tie(nullptr);intn;strings;cin>>n......
  • MFC六大机制
    我们选择了C++,主要是因为它够艺术、够自由,使用它我们可以实现各种想法,而MFC将多种可灵活使用的功能封装起来,我们岂能忍受这种“黑盒”操作?于是研究分析MFC的核心机制成为必然。      首先,列出要讲的MFC六大核心机制:      1、MFC程序的初始化。      2、运......
  • C++ 学习笔记、01 | 开发简单职工管理系统遇到的一些问题
    记录开发简单职工管理系统遇到的一些问题,黑马教程https://www.bilibili.com/video/BV1et411b73ZP147~P166头文件与源文件头文件只声明,源文件来实现(本质上是类内声明类外实现)源文件需要引用特定的头文件ifndefOOPFINAL_WORKER_H#defineOOPFINAL_WORKER_H#include<......
  • Acwing.第121场周赛
    Acwing.第121场周赛比赛链接这次怎么出的这么简单,偷懒了是吧哈哈哈A.简单计算题目链接#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;voidsolve(){inta,b,c;cin>>a>>b>>c;intans=(c-b)/a*a+b;cout<<ans<<endl;}......
  • 合并果子题解-C++ STL priority_queue容器的使用
    说明:本博文关于priority_queue容器的说明来源于www.cnblogs.com/fusiwei/p/11823053.html本人是刚刚接触算法竞赛的萌新,如果有大佬发现了错误,还望指出(真的有人会看本蒟蒻的博文吗)这是我的第一篇博文,更多是作为测试以后会将博客作为笔记记录学习的体会基本概念priority_queu......