如何在RestSharp中格式化JSON对象

问题描述 投票:-1回答:1

我正在使用RestSharp对外部API进行POST调用。

我通过以下方式添加有效负载:

request.AddParameter({field_name},{field_value})

API接受{“ name”:“ value”}(正确的json格式)但不接受{name:“ value”}

如果尝试使用不正确的json对象进行呼叫,则会引发类似于以下的错误:

“ {\”类型\“:\”https://tools.ietf.org/html/rfc7231#section-6.5.1\“,\”标题\“:\”发生一个或多个验证错误。\“,\”状态\“:400,\” traceId \“: \“ | 87c7263f-4ff49301d1865eed。\”,\“错误\”:{\“ $ \”:[\“'n'是一个无效的值开头。路径:$ |行号:0 | BytePositionInLine:0。\“]}}”

这可能是由于以下issue

尝试通过POST呼叫时,我收到了相同的错误消息request.AddParameter({field_name},{field_value})

我是否可以使用RestSharp发出请求,该请求允许使用类似以下格式{“ name”:“ value”}吗?

c# rest json.net restsharp system.text.json
1个回答
0
投票

检查the documentation

在POST或PUT请求上,这取决于您是否将文件附加到请求。否则,将以name1 = value1&name2 = value2的形式将参数作为请求的正文发送。同样,该请求将作为application / x-www-form-urlencoded发送。

执行此操作的正确方法是:

var myJson = new { /*<field_name> = <field_value>, <field2> = <value2> ... etc*/ }
request.AddJsonBody(myJson);
© www.soinside.com 2019 - 2024. All rights reserved.