当前位置: 首页 > 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、数据需求…...

别再只用Service了!ROS1 Action通信保姆级教程:从导航进度条到任务取消,手把手教你实现带反馈的机器人任务

别再只用Service了&#xff01;ROS1 Action通信保姆级教程&#xff1a;从导航进度条到任务取消&#xff0c;手把手教你实现带反馈的机器人任务当你的机器人正在执行一个长达10分钟的导航任务时&#xff0c;突然发现目标点设置错误&#xff0c;这时候如果只能干等着任务完成或者…...

MAX78000移植Zephyr RTOS实战:从BSP创建到AI边缘设备开发

1. 项目概述与动机作为一名长期在嵌入式边缘AI和机器人领域摸爬滚打的开发者&#xff0c;我最近把目光投向了一块相当有潜力的板子&#xff1a;Maxim Integrated&#xff08;现为ADI一部分&#xff09;的MAX78000FTHR开发套件。这块板子的核心——MAX78000微控制器&#xff0c;…...

光轮智能 谢晨 访谈总结机器人仿真数据产业

光轮智能 谢晨 访谈总结机器人仿真关于创始人关于数据数据金字塔数据痛点仿真数据的重要性仿真数据的质量b站链接地址公司官网关于创始人 清华物理&#xff1b;哥伦比亚金融&#xff1b;英伟达智驾仿真&#xff1b;小鹏智驾仿真&#xff1b;现为光轮智能CEO 关于数据 数据的…...

第三卷第4章:原型模式设计思想

第三卷第4章:原型模式设计思想 目录介绍 01.案例引入与思考 1.1 痛点场景 1.2 它哪里不舒服 1.3 引出本篇主角 02.原型模式介绍 2.1 原型模式由来 2.2 原型模式定义...

保姆级教程:用Cesium ClippingPlaneCollection实现3D地形‘开窗’与‘遮罩’效果

三维地理可视化进阶&#xff1a;Cesium裁剪平面实现区域聚焦与隐藏的艺术 在三维地理信息系统中&#xff0c;有时我们需要突出显示特定区域或隐藏某些部分以查看地下结构——这就像给地球表面开一扇"窗户"或盖一块"遮罩"。Cesium引擎的ClippingPlaneCollec…...

从零到一:手把手教你用Android Studio调试CarService源码(Android 12.0.0_r3)

从零构建Android车载调试环境&#xff1a;CarService深度调试实战指南 在车载Android开发领域&#xff0c;CarService作为连接应用层与车辆硬件的核心枢纽&#xff0c;其重要性不言而喻。但对于大多数开发者而言&#xff0c;面对庞大的源码库和复杂的车载系统架构&#xff0c;如…...

为内容创作平台集成 AI 功能时利用 Taotoken 实现模型灵活调度

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 为内容创作平台集成 AI 功能时利用 Taotoken 实现模型灵活调度 在内容创作或媒体类平台中集成 AI 辅助功能&#xff0c;如文章生成…...

DeepSeek LeetCode 2612. 最少翻转操作数 Java实现

解题思路LeetCode 2612「最少翻转操作数」是一个图论 BFS 最短路径问题&#xff1a;把数组每个位置看作图中的一个节点&#xff0c;每次翻转操作相当于在当前节点到下一节点之间连一条权重为 1 的边。由于所有边的权重相等&#xff0c;BFS 是求解最短路径的标准算法。---Step 1…...

MySQL报错注入与堆叠注入的底层原理与实战对抗

1. 这不是“学SQL注入”&#xff0c;而是重建你对数据库交互的认知边界2021年7月8日这个日期&#xff0c;对很多刚入CTF圈的朋友来说&#xff0c;可能只是训练平台里一个普通题目的提交时间戳。但对我而言&#xff0c;那天在调试一道看似简单的报错注入题时&#xff0c;连续卡了…...

从Windows/Ubuntu到麒麟V10:给双系统玩家的分区避坑指南(附ESP/SYSBOOT详解)

从Windows/Ubuntu到麒麟V10&#xff1a;双系统分区规划全解析当你在已有Windows或Ubuntu的电脑上准备安装银河麒麟V10桌面版时&#xff0c;分区规划往往是第一个需要跨越的技术门槛。不同于单系统安装的"下一步"式操作&#xff0c;多系统共存需要对磁盘布局有更深入的…...