如何解决“错误的 JSON 转义序列:\U”在 blazor 中添加 swagger 端点作为连接服务的问题

问题描述

我正在尝试在 ASP 支持的 Blazor Web 应用程序中添加一个 swagger 端点作为连接服务。

我已经尝试了很多,我将列出一些可能有助于解决问题的方法

这是端点网址:https://lcd.terra.dev/swagger-ui/swagger.yaml

在 Visual Studio 中,我首先转到连接服务并添加连接服务 > OpenAPI。 我粘贴了 URL,一切似乎都正常,直到我构建导致此错误

错误 MSB3073 命令 ""C:\Users\MYNAME\.nuget\packages\nswag.msbuild\13.0.5\build\../tools/Win/NSwag.exe" openapi2csclient /className:bbbbbb /namespace:aaaaaaa /input:F:\src\WebApplication1\Server\OpenAPIs\swagger.yaml /output:obj\swaggerClient.cs"

代码 -1 退出

这对于应用程序的客户端或服务器部分是相同的。 并且还有用于开放 api 的 unchase 扩展。

生成将是一个 swagger.yaml 文件(json 文件中有很多 并且看起来像 html/xml ish

我用 powershell 试过这个命令:

PS F:\src\WebApplication1\Server> C:\Users\USERNAME\.nuget\packages\nswag.msbuild\13.0.5\tools\Win/NSwag.exe openapi2csclient /className:vvvvvvvv /namespace:aaaaa /input:F:\src\WebApplication1\Server\OpenAPIs\swagger.yaml /output:obj\swaggerClient.cs NSwag command line tool for .NET 4.6.1+ WinX64,toolchain v13.0.5.0 (njsonSchema v10.0.22.0 (Newtonsoft.Json v11.0.0.0)) Visit http://NSwag.org for more information. NSwag bin directory: C:\Users\USERNAME\.nuget\packages\nswag.msbuild\13.0.5\tools\Win Newtonsoft.Json.JsonReaderException: Bad JSON escape sequence: \U. Path 'deFinitions.BaseReq.properties.memo.example',line 1,position 80904.

我安装了 NSwag Studio。尝试生成 csharp 客户端或控制器会产生类似/相同的结果:

Newtonsoft.Json.JsonReaderException: Bad JSON escape sequence: \U. Path 'deFinitions.BaseReq.properties.memo.example',position 78847. Runtime: Net50 at Newtonsoft.Json.JsonTextReader.ReadStringIntoBuffer(Char quote)

我还尝试了他们的(swagger)在线代码生成器,用于 asp 和 c#,但它出现了错误。我什至试图挽救由此产生的错误代码,但没有成功。

我真的很喜欢它作为连接服务出现在我的应用程序中。但其他变体也可以(不涉及手动实现我指定的所有内容......)

这是一个业余项目,所以我真的很好奇为什么这不起作用。我的印象是,使用 openapi/swagger,简单地使用端点应该没有问题。

对我来说特别突出的一件事是它似乎使用了有趣的 json 版本。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)