C# Newtonsoft.Json.JsonReaderException:分析值时遇到意外字符:{.Path',第1行,位置1

C# Newtonsoft.Json.JsonReaderException:分析值时遇到意外字符:{.Path',第1行,位置1,c#,json.net,C#,Json.net,我目前正在调试我们的specFlow测试,这对我来说是非常新的。我尝试了我在网上找到的几乎所有建议,但没有成功。我将在下面发布Newtonsoft.Json的使用方法 [When(@"I run for Sku='(.*)' OptionId1='(.*)' OptionId2='(.*)' OptionId3='(.*)'")] public async Task WhenIRunForSku(string Sku, int? OptionId1, int? Op

我目前正在调试我们的specFlow测试,这对我来说是非常新的。我尝试了我在网上找到的几乎所有建议,但没有成功。我将在下面发布Newtonsoft.Json的使用方法

  [When(@"I run for Sku='(.*)' OptionId1='(.*)' OptionId2='(.*)' OptionId3='(.*)'")]
   public async Task WhenIRunForSku(string Sku, int? OptionId1, int? OptionId2, int? OptionId3)
    {  
       var request = new ProcessCartonBySkuRequest()
                {
                    SkuOptionSets = new List<SkuOptionSet>()
                    {
                        new SkuOptionSet
                        {
                            Sku = Sku,
                            Option1Id = OptionId1,
                            Option2Id = OptionId2,
                            Option3Id = OptionId3
                        }
                    },
                    CallerContext = new CallerContext
                    {
                        ApplicationName = "IntegrationTest",
                        MethodName = nameof(WhenIRunForSku)
                    }
                };
                var content = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json");
                var response = await TestHost.Client.PostAsync("uri here", content);
                var success = await response.Content.ReadAsAsync<bool>();

      Assert.True(success);
    }
完全错误:


看起来您希望从服务器得到一个空bool,因此直接在响应中为true或false,但我猜服务器实际上返回的是一个JSON对象JSON objects开头{。由于json解析错误,我返回的响应为null。因此,应该通过post ASNC发送的内容为null。@BrianRogerRight,因为json对象无法解析为bool。请尝试将var success=wait response.content.ReadAsAsync;更改为var responseString=wait response.content.readastringasync;更改为var responseString=wait response.content.ReadAsStringAsync;一个d然后将responseString转储到debug窗口。看看你得到了什么。谢谢Brian,我感谢你的帮助,嗯,我尝试过了,但仍然返回为null。我将在调试器@BrianRogers上方添加一张图片。你能粘贴完整的异常详细信息和堆栈跟踪吗?
    public string Sku { get; set; }
    public int? Option1Id { get; set; }
    public int? Option2Id { get; set; }
    public int? Option3Id { get; set; }
    public string OptionString => BuildOptionString();