本文介绍了ASP.NET Core 3.0 [FromBody] 字符串内容返回“无法将 JSON 值转换为 System.String."的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在 ASP.NET Core 3.0 中的 ApiController 上使用 [FromBody] 字符串内容会返回验证错误:

Using [FromBody] string content on an ApiController in ASP.NET Core 3.0 returns a validation error:

{"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
 "title":"One or more validation errors occurred.",
 "status":400,
 "traceId":"|9dd96d96-4e64bafba4ba0245.",
 "errors":{"$":["The JSON value could not be converted to System.String. Path: $ | LineNumber: 0 | BytePositionInLine: 1."]}}

当客户端使用 content-type 发布数据时:application/json

when the client post data with content-type : application/json

如何在 .NET Core 3.0 的 api 控制器中将原始 json 数据作为字符串获取?无需客户端更新其内容类型?

How do I get the raw json data as a string in my api controller in .NET Core 3.0? Without the client having to update its content type?

推荐答案

不确定这是否有帮助,但我认为他们在 .net core 3.0 Newtonsoft.JSON 包中进行了一些更改,因此您可以尝试一下

Not sure this help but I think they made some change in .net core 3.0 Newtonsoft.JSON package so you can try this

安装 Microsoft.AspNetCore.Mvc.NewtonsoftJson 包.

在你的 startup.cs 添加

In your startup.cs add

services.AddControllers().AddNewtonsoftJson();

这篇关于ASP.NET Core 3.0 [FromBody] 字符串内容返回“无法将 JSON 值转换为 System.String."的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-04 06:16