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

解决“无法从 System.String 强制转换或转换为 Class 对象”错误

解决“无法从 System.String 强制转换或转换为 Class 对象”错误

在进行 API 自动化时,我必须反序列化响应以解析 API 响应数据。我们使用 Newtonsoft.Json NuGet 来实现这一点。

我在反序列化过程中遇到以下错误 -

Newtonsoft.Json.JsonSerializationExceptionHResult=0x80131500消息 = 将值“{“Id”:“92209”,“operatorId”:“100000”,“acctId”:“1000”,“status”:“true}”转换为类型“模型”时出错。路径'',第 1 行,位置 726。来源=Newtonsoft.Json堆栈跟踪:在 Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureType(JsonReader 阅读器、对象值、CultureInfo 文化、JsonContract 契约、Type targetType)在 Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader 阅读器,类型 objectType,布尔值 checkAdditionalContent)在 Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader,类型 objectType)在 Newtonsoft.Json.JsonConvert.DeserializeObject(字符串值,类型类型,JsonSerializerSettings 设置)在 Newtonsoft.Json.JsonConvert.DeserializeObject[T](字符串值,JsonSerializerSettings 设置)在 C:\CommonLibraries\CommonLibrary.cs 中的 CommonLibraries.CommonLibrary.GetResponseBodyDictionary(RestResponse response,Int32 statusCode):第 35 行在 C:\Tests.cs 中的 Test(String id、String TestDescription、Int32 statusCode、String TemplateId) 处:第 108 行内部异常 1:ArgumentException:无法从 System.String 强制转换或转换为 Model。

最初的想法是——

  • Json 响应的格式不正确
  • 并非所有属性都包含在 Json 中。

但原因并非如此。

经过多次谷歌搜索后,尝试 –

  • 修剪 Json 内容
  • 替换转义字符
  • Html 解码 Json。

这些都不起作用。

最后,这篇 StackOverflow 帖子帮助解决了这个问题。看起来我正在反序列化的内容被序列化了多次,我不得不将其反序列化为字符串,然后再次反序列化为模型来解决问题。下面的代码对我有用。

1

2

3
var content = response.Content;                          

var jsonResult = JsonConvert.DeserializeObject(content).ToString();

var result= JsonConvert.DeserializeObject<Model>(jsonResult);

这里的内容类似于“\”{\\”Id\\”:\\”92209\\”,\\”operatorId\\”:100000,\\”Status\\”:true}”

相关文章:

解决“无法从 System.String 强制转换或转换为 Class 对象”错误

解决“无法从 System.String 强制转换或转换为 Class 对象”错误 在进行 API 自动化时&#xff0c;我必须反序列化响应以解析 API 响应数据。我们使用 Newtonsoft.Json NuGet 来实现这一点。 我在反序列化过程中遇到以下错误 - Newtonsoft.Json.JsonSerializationExceptionH…...

Git:LF will be replaced by CRLF、pytest PermissionError以及Git应用中的一些问题解决及一些使用技巧

一、Git:LF will be replaced by CRLF和pytest: --cov NTERNALERROR PermissionError 1. git warning: LF will be replaced by CRLF in ***file 偶然git add在进行代码提交的时候碰到警告warning: LF will be replaced by CRLF in ***file&#xff0c;原因是编辑的代码内容中…...

云原生之运维监控实践-使用taosKeeper与TDinsight实现对TDengine服务的监测告警

背景 如果没有监控&#xff0c;那么最好的情况是没有问题发生&#xff0c;最糟糕的情况则是问题发生了但没有被发现。——《Prometheus监控实战》 在10月10日收到了 TDengine 官方微信公众号的一条推送&#xff0c;摘要如下&#xff1a; 今天(2024年10月10日)我们非常高兴地宣布…...

前端js,vue系统使用iframe嵌入第三方系统的父子系统的通信

前端js,vue系统使用iframe嵌入第三方系统的父子系统的通信 1&#xff0c;父子系统之间的通信问题 父系统给子系统传值可通过postMessage方式进行通信,postMessage(“传递的数据”,url) 1.1 父系统给子系统的传值 let iframe document.getElementById(childFrame); let o1 {…...

树莓派刷入OpenWrt后扩容overlay的方法

问题&#xff1a; 128G的SD卡刷入openwrt后发现可用空间不足100M&#xff08;我用的squashfs固件&#xff0c;ext4也存在同样的问题&#xff0c;但能否用此方法需要自己尝试一下&#xff09;。 rootOpenWrt:~# df -h Filesystem Size Used Available Use%…...

【JS】Node.js读取execle表格中的数据

在Node.js中读取.xlsx格式的Excel文件&#xff0c;可以使用xlsx库。这个库非常流行且易于使用。下面是一个基本示例&#xff0c;展示如何使用xlsx库读取.xlsx文件中的数据。 首先&#xff0c;你需要安装xlsx库。你可以使用npm来安装&#xff1a; npm install xlsx然后&#x…...

怎么为pdf文件设置密码?几种PDF文件设置密码的方法推荐

怎么为pdf文件设置密码&#xff1f;设置PDF文件密码&#xff0c;正是应对这一挑战的有效手段之一。通过为PDF文件设置密码&#xff0c;我们能够为文档加上一道安全锁&#xff0c;确保只有掌握密码的用户才能打开和查看文件内容。这一措施不仅保护了文档的隐私性&#xff0c;还防…...

Rust : FnOnce、线程池与多策略执行

一、问题&#xff1a;mpsc如何发送各类不同的函数&#xff1f; 3个关键词&#xff1a;闭包、Box与FnOnce&#xff1b;请细品。 use std::sync::{mpsc,Arc,Mutex}; use std::thread; fn process<F>(old:f32,name:String,f:F) where F: FnOnce(f32,String) {f(old,name);…...

一个汉字占几个字节、JS中如何获得一个字符串占用多少字节?

浅浅记录 一个汉字占几个字节&#xff1f;JS中如何获得一个字符串占用多少字节&#xff1f; 一个汉字占几个字节&#xff1f; GBK编码&#xff1a;一个汉字、中文字符都是占2个字节&#xff0c;英文字符占1个字节 UTF-8编码&#xff1a;一个汉字、中文字符都是占3个字节&#…...

CommonJS 和 ES modules

CommonJS 和 ES modules (ESM) 是两种不同的模块系统&#xff0c;它们用于组织 JavaScript 代码&#xff0c;并允许不同文件之间共享代码。 CommonJS (CJS) CommonJS 是最早的 JavaScript 模块化规范之一&#xff0c;主要用于 Node.js 环境中。CommonJS 规定每个文件都是一个…...

计算机网络——CDN

空间编码例子&#xff1a;不是发送N个相同颜色值&#xff0c;而是仅发送2个值&#xff0c;颜色和重复个数 时间编码例子&#xff1a;不是发送i1帧的全部编码&#xff0c;而是仅发送帧i差别的地方 视频播放时&#xff0c;先下载manifest file文件——>解析&#xff08;不…...

大数据治理:挑战与策略

随着信息技术的飞速发展&#xff0c;大数据已成为当今社会的重要资源。大数据治理作为管理和利用大数据的关键手段&#xff0c;对于提升数据质量、保障数据安全、实现数据价值具有重要意义。本文首先阐述了大数据治理的概念和目标&#xff0c;接着分析了大数据治理面临的挑战&a…...

屋面通风器安装方案及流程

屋面通风器的安装方案及流程是一个系统性工作&#xff0c;需要仔细规划和执行&#xff0c;以确保安装质量和通风器的正常运行。昱合昇天窗厂家为大家整理了详细的安装方案及流程&#xff0c;供您参考。一、安装前准备 1、确定安装位置 根据建筑物屋顶结构和通风需求&#xff0c…...

ComfyUI一键更换服装:IP-Adapter V2 + FaceDetailer(DeepFashion)

在这篇文章中&#xff0c;我们将探索如何使用新版的IP-Adapter和ComfyUI软件为人物进行换装。 整个过程非常简单&#xff0c;仅需要两张图片&#xff1a;一张服装图片和一张人物图片。 通过一系列节点的操作&#xff0c;ComfyUI就会把这个服装换到人物身上&#xff0c;并利用…...

AWS账号与亚马逊账号的关系解析

在当今数字化时代&#xff0c;云计算已成为企业和个人用户不可或缺的一部分。亚马逊网络服务&#xff08;AWS&#xff09;是全球领先的云计算平台&#xff0c;而亚马逊&#xff08;Amazon&#xff09;则是全球最大的在线零售商之一。许多人在使用这两个平台时&#xff0c;常常会…...

Java八大基本数据类型详解

引言 一、整数类型 二、 浮点类型 三、.字符类型 四、布尔类型 示例代码 注意事项 引言 在Java编程语言中&#xff0c;基本数据类型是构建程序的基础。了解这些数据类型的特性和使用方法对于编写高效且正确的代码至关重要。本文将详细介绍Java的八大基本数据类型&#xff…...

ChatGPT的终极指南概要

ChatGPT的终极指南概要 [ Prompt Format&#xff08;提示格式&#xff09; 是一种用于指导ChatGPT生成特定类型回答的模板。它通常包括以下几个部分&#xff1a; 角色&#xff08;Role&#xff09;&#xff1a;定义AI模型在Prompt中所扮演的角色&#xff0c;例如专家、顾问、…...

Android应用性能优化的方法

Android应用性能优化是一个复杂而关键的过程&#xff0c;涉及多个方面&#xff0c;包括布局优化、网络优化、安装包优化、内存优化、卡顿优化、启动优化等。以下是对这些优化方法的详细解析&#xff1a; 一、布局优化 布局优化是Android性能优化的基础&#xff0c;主要目标是…...

『网络游戏』客户端发送消息到服务器【17】

将上一章服务器的协议PEProtocol的.dll文件重新生成导入unity客户端中 命名为Net 点击生成 另一种导入.dll文件方式 在客户端粘贴即可 此时Net文件夹的.dll文件就导入进来了 创建脚本&#xff1a;NetSvc.cs 编写脚本&#xff1a;NetSvc.cs 修改脚本&#xff1a;GameRoot.cs 在…...

【系统架构设计师】专题:数据库系统考点梳理

更多内容请见: 备考系统架构设计师-核心总结目录 文章目录 一、数据库基本概念1、数据库技术的发展2、数据模型3、数据库管理系统4、数据库三级模式二、关系数据库1、关系数据库基本概念2、关系运算3、关系数据库设计基本理论三、数据库设计1、数据库设计的基本步骤2、数据需求…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

docker详细操作--未完待续

docker介绍 docker官网: Docker&#xff1a;加速容器应用程序开发 harbor官网&#xff1a;Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台&#xff0c;用于将应用程序及其依赖项&#xff08;如库、运行时环…...

基于服务器使用 apt 安装、配置 Nginx

&#x1f9fe; 一、查看可安装的 Nginx 版本 首先&#xff0c;你可以运行以下命令查看可用版本&#xff1a; apt-cache madison nginx-core输出示例&#xff1a; nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容

目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法&#xff0c;当前调用一个医疗行业的AI识别算法后返回…...

JAVA后端开发——多租户

数据隔离是多租户系统中的核心概念&#xff0c;确保一个租户&#xff08;在这个系统中可能是一个公司或一个独立的客户&#xff09;的数据对其他租户是不可见的。在 RuoYi 框架&#xff08;您当前项目所使用的基础框架&#xff09;中&#xff0c;这通常是通过在数据表中增加一个…...

LeetCode - 199. 二叉树的右视图

题目 199. 二叉树的右视图 - 力扣&#xff08;LeetCode&#xff09; 思路 右视图是指从树的右侧看&#xff0c;对于每一层&#xff0c;只能看到该层最右边的节点。实现思路是&#xff1a; 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

CSS设置元素的宽度根据其内容自动调整

width: fit-content 是 CSS 中的一个属性值&#xff0c;用于设置元素的宽度根据其内容自动调整&#xff0c;确保宽度刚好容纳内容而不会超出。 效果对比 默认情况&#xff08;width: auto&#xff09;&#xff1a; 块级元素&#xff08;如 <div>&#xff09;会占满父容器…...

mac 安装homebrew (nvm 及git)

mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用&#xff1a; 方法一&#xff1a;使用 Homebrew 安装 Git&#xff08;推荐&#xff09; 步骤如下&#xff1a;打开终端&#xff08;Terminal.app&#xff09; 1.安装 Homebrew…...

MinIO Docker 部署:仅开放一个端口

MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...

MySQL 主从同步异常处理

阅读原文&#xff1a;https://www.xiaozaoshu.top/articles/mysql-m-s-update-pk MySQL 做双主&#xff0c;遇到的这个错误&#xff1a; Could not execute Update_rows event on table ... Error_code: 1032是 MySQL 主从复制时的经典错误之一&#xff0c;通常表示&#xff…...