背景:在.NET Core3.0+框架下编写WebApi并且使用dynamic类型传参,后台接收到的参数中会包含一个ValueKind的属性,包含ValueKind属性会影响取参的便捷性

导致原因:.NetCore3.0+默认的对象序列化解析程序为System.Text.Json下的JsonDocument,该解析程序解析dynamic出来的数据就会有ValueKind

解决办法(1):将默认的序列化程序System.Text.Json替换为Newtonsoft.Json
1.NuGet引入包:Microsoft.AspNetCore.Mvc.NewtonsoftJson
2.Startup添加命名空间:using Newtonsoft.Json.Serialization;
3.Startup类的ConfigureServices方法中添加代码:

//添加对象序列化程序为Newtonsoft.Json
services.AddControllers().AddNewtonsoftJson(options =>
{options.SerializerSettings.ContractResolver = new DefaultContractResolver();
});

JObject传参解析报错问题也可用该方式解决

解决办法(2):使用JsonConvert.DeserializeObject进行转换

dynamic dynParam = JsonConvert.DeserializeObject(Convert.ToString(param));
string strName = Conver.ToString(dynParam.Name);

.NET Core3.0+ WebApi dynamic传参中带有ValueKind属性处理方法相关推荐

  1. 数组传参中形参的秘密,以及数组名当作函数实际参数的特点,以及二维数组,以及外部变量和全局变量

    1.数组传参中形参的秘密 第三行:形参中不存在数组的概念,即便是中括号约定了数组的大小,也无效. 第二十行:传递的是一个地址,是数组的首地址. 数组名代表了整个数组的首地址. 第二十一行:第一个元素的 ...

  2. php 闭包函数传参,PHP闭包函数传参及使用外部变量 PHP闭包函数传参及使用外部变量的方法...

    想了解PHP闭包函数传参及使用外部变量的方法的相关内容吗,小谈博客在本文为您仔细讲解PHP闭包函数传参及使用外部变量的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:PHP,闭包函数,传参, ...

  3. 08-数组中常用的属性及方法

    08-数组中常用的属性及方法 创建: 使用 JavaScript 关键词 new 使用数组文本创建 //数组中的方法: toString() 把数组转换为数组值(逗号分隔)的字符串. join() 方 ...

  4. python私有属性怎么定义_Python中定义私有属性的方法是()。

    [判断题]请假条带有请求的性质,所以一般来说篇幅要尽量长一些,以示郑重;更多要用煽情性语句,以打动对方.( ) [单选题]关于类和对象的关系,下列描述正确的是(). [选择]Трудоспособны ...

  5. php中align标签属性值,html align属性是什么含义?html中的align属性设置方法介绍

    html align属性是什么含义?html中的align属性设置方法介绍都在这里,本篇文章介绍了html align属性的定义和含义,还有关于html align属性值的设置介绍 html alig ...

  6. php中align是什么意思,htmlalign属性是什么含义?html中的align属性设置方法介绍

    html align属性是什么含义?html中的align属性设置方法介绍都在这里,本篇文章介绍了html align属性的定义和含义,还有关于html align属性值的设置介绍 html alig ...

  7. php 静态类内存,php面向对象中static静态属性与方法的内存位置分析

    本文实例分析了php面向对象中static静态属性与方法的内存位置.分享给大家供大家参考.具体如下: static静态属性的内存位置-->类,而不是对象.下面做测试来证明一下 header(&q ...

  8. 前端:JS/25/DOM官方定义,DOM分类,HTML节点树(节点关系,节点类型,),核心DOM中公共的属性和方法(节点访问,查找DOM节点,节点属性,节点的创建,追加和删除)

    DOM官方定义 DOM,Document Object Model,文档对象模型,我们可以把网页中的所有"东西"看成是对象": DOM的官方定义:DOM可以使用脚本,动态 ...

  9. C语言 指针在函数传参中的使用

    int add(int a, int b)   //函数传参的时候使用了int整型数据,本身是数值类型.实际调用该函数时,实参将自己拷贝一份,并将拷贝传递给形参进行运算.实参自己实际是不参与运算的.所 ...

最新文章

  1. 从Web2.0到Enterprise 2.0(三)Enterprise 2.0的三个方向
  2. Python初学者请注意!别这样直接运行python命令,否则电脑等于“裸奔”
  3. Python写爬虫只需三步
  4. webbrowser填充textarea的问题
  5. C++继承同名成员处理方式
  6. java 调用软键盘_打开软键盘
  7. oracle 数组定义
  8. python基础知识点整理(1)
  9. python实现目标检测_由浅入深:教你如何构建一个行人目标检测模型(Python)
  10. 【生信进阶练习1000days】day16~day22-RNA-seq data analysis with limma edgeR and Glimma
  11. [Python图像处理] 十七.图像锐化与边缘检测之Roberts算子、Prewitt算子、Sobel算子和Laplacian算子
  12. 硬盘测试软件w10,Win10硬盘检测工具
  13. 微信公众号在线答题小程序系统怎么做答题游戏活动
  14. 微信公众平台、微信公众平台.小程序、微信.开放平台
  15. 为什么前端比java工资高_Web前端为什么一般工资比java低?
  16. 【网络安全】企业内网中的横向移动
  17. 力扣LeetCode刷题笔记总结1
  18. JPA ERROR: value too long for type character varying(100)
  19. 看过来,u盘删除的文件还能找回吗?两种方法教给你
  20. 敏捷软件开发(2)--- 设计原则

热门文章

  1. linggo:非线性规划
  2. html5圆圈动画效果,CSS3实现光感圆圈动画效果
  3. 博客粉丝群发功能使用文档
  4. 【2019暑假集训】08.04比赛总结
  5. matlab 获取edit,怎样获取edit控件里的数据
  6. Incorrect string value utf8bm4 依然报错_英雄联盟手游报错出现LoginTimeOut 10010解决方法 lol手游公测43个英雄介绍_游戏频道...
  7. MapBoxGL 图层样式修改
  8. 使用JavaScript写的操作系统和输入法程序,太强了!
  9. 远程加载固件_flash基础知识_3-1
  10. L2-021 点赞狂魔 (25 分)